group_theory.semidirect_productMathlib.GroupTheory.SemidirectProduct

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Chris Hughes. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Hughes
 -/
-import Algebra.Hom.Aut
+import Algebra.Group.Aut
 import Logic.Function.Basic
 import GroupTheory.Subgroup.Basic
 
Diff
@@ -276,7 +276,7 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
   map_one' := by simp
   map_mul' a b := by
     have := fun n g => MonoidHom.ext_iff.1 (h n) g
-    simp only [MulAut.conj_apply, MonoidHom.comp_apply, MulEquiv.coe_toMonoidHom] at this 
+    simp only [MulAut.conj_apply, MonoidHom.comp_apply, MulEquiv.coe_toMonoidHom] at this
     simp [this, mul_assoc]
 #align semidirect_product.lift SemidirectProduct.lift
 -/
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Chris Hughes. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Hughes
 -/
-import Mathbin.Algebra.Hom.Aut
-import Mathbin.Logic.Function.Basic
-import Mathbin.GroupTheory.Subgroup.Basic
+import Algebra.Hom.Aut
+import Logic.Function.Basic
+import GroupTheory.Subgroup.Basic
 
 #align_import group_theory.semidirect_product from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
 
Diff
@@ -65,7 +65,7 @@ instance : Group (N ⋊[φ] G) where
   mul_assoc a b c := by ext <;> simp [mul_assoc]
   one_mul a := ext _ _ (by simp) (one_mul a.2)
   mul_one a := ext _ _ (by simp) (mul_one _)
-  mul_left_inv := fun ⟨a, b⟩ => ext _ _ (show φ b⁻¹ a⁻¹ * φ b⁻¹ a = 1 by simp) (mul_left_inv b)
+  hMul_left_inv := fun ⟨a, b⟩ => ext _ _ (show φ b⁻¹ a⁻¹ * φ b⁻¹ a = 1 by simp) (mul_left_inv b)
 
 instance : Inhabited (N ⋊[φ] G) :=
   ⟨1⟩
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Chris Hughes. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Hughes
-
-! This file was ported from Lean 3 source module group_theory.semidirect_product
-! leanprover-community/mathlib commit 68d1483e8a718ec63219f0e227ca3f0140361086
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Hom.Aut
 import Mathbin.Logic.Function.Basic
 import Mathbin.GroupTheory.Subgroup.Basic
 
+#align_import group_theory.semidirect_product from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
+
 /-!
 # Semidirect product
 
Diff
@@ -41,6 +41,7 @@ group, semidirect product
 
 variable (N : Type _) (G : Type _) {H : Type _} [Group N] [Group G] [Group H]
 
+#print SemidirectProduct /-
 /-- The semidirect product of groups `N` and `G`, given a map `φ` from `G` to the automorphism
   group of `N`. It the product of sets with the group operation
   `⟨n₁, g₁⟩ * ⟨n₂, g₂⟩ = ⟨n₁ * φ g₁ n₂, g₁ * g₂⟩` -/
@@ -50,10 +51,10 @@ structure SemidirectProduct (φ : G →* MulAut N) where
   right : G
   deriving DecidableEq
 #align semidirect_product SemidirectProduct
+-/
 
 attribute [pp_using_anonymous_constructor] SemidirectProduct
 
--- mathport name: «expr ⋊[ ] »
 notation:35 N " ⋊[" φ:35 "] " G:35 => SemidirectProduct N G φ
 
 namespace SemidirectProduct
@@ -72,147 +73,204 @@ instance : Group (N ⋊[φ] G) where
 instance : Inhabited (N ⋊[φ] G) :=
   ⟨1⟩
 
+#print SemidirectProduct.one_left /-
 @[simp]
 theorem one_left : (1 : N ⋊[φ] G).left = 1 :=
   rfl
 #align semidirect_product.one_left SemidirectProduct.one_left
+-/
 
+#print SemidirectProduct.one_right /-
 @[simp]
 theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
   rfl
 #align semidirect_product.one_right SemidirectProduct.one_right
+-/
 
+#print SemidirectProduct.inv_left /-
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
   rfl
 #align semidirect_product.inv_left SemidirectProduct.inv_left
+-/
 
+#print SemidirectProduct.inv_right /-
 @[simp]
 theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
   rfl
 #align semidirect_product.inv_right SemidirectProduct.inv_right
+-/
 
+#print SemidirectProduct.mul_left /-
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
   rfl
 #align semidirect_product.mul_left SemidirectProduct.mul_left
+-/
 
+#print SemidirectProduct.mul_right /-
 @[simp]
 theorem mul_right (a b : N ⋊[φ] G) : (a * b).right = a.right * b.right :=
   rfl
 #align semidirect_product.mul_right SemidirectProduct.mul_right
+-/
 
+#print SemidirectProduct.inl /-
 /-- The canonical map `N →* N ⋊[φ] G` sending `n` to `⟨n, 1⟩` -/
 def inl : N →* N ⋊[φ] G where
   toFun n := ⟨n, 1⟩
   map_one' := rfl
   map_mul' := by intros <;> ext <;> simp
 #align semidirect_product.inl SemidirectProduct.inl
+-/
 
+#print SemidirectProduct.left_inl /-
 @[simp]
 theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
   rfl
 #align semidirect_product.left_inl SemidirectProduct.left_inl
+-/
 
+#print SemidirectProduct.right_inl /-
 @[simp]
 theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
   rfl
 #align semidirect_product.right_inl SemidirectProduct.right_inl
+-/
 
+#print SemidirectProduct.inl_injective /-
 theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨left, left_inl⟩
 #align semidirect_product.inl_injective SemidirectProduct.inl_injective
+-/
 
+#print SemidirectProduct.inl_inj /-
 @[simp]
 theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ = n₂ :=
   inl_injective.eq_iff
 #align semidirect_product.inl_inj SemidirectProduct.inl_inj
+-/
 
+#print SemidirectProduct.inr /-
 /-- The canonical map `G →* N ⋊[φ] G` sending `g` to `⟨1, g⟩` -/
 def inr : G →* N ⋊[φ] G where
   toFun g := ⟨1, g⟩
   map_one' := rfl
   map_mul' := by intros <;> ext <;> simp
 #align semidirect_product.inr SemidirectProduct.inr
+-/
 
+#print SemidirectProduct.left_inr /-
 @[simp]
 theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
   rfl
 #align semidirect_product.left_inr SemidirectProduct.left_inr
+-/
 
+#print SemidirectProduct.right_inr /-
 @[simp]
 theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
   rfl
 #align semidirect_product.right_inr SemidirectProduct.right_inr
+-/
 
+#print SemidirectProduct.inr_injective /-
 theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨right, right_inr⟩
 #align semidirect_product.inr_injective SemidirectProduct.inr_injective
+-/
 
+#print SemidirectProduct.inr_inj /-
 @[simp]
 theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ = g₂ :=
   inr_injective.eq_iff
 #align semidirect_product.inr_inj SemidirectProduct.inr_inj
+-/
 
+#print SemidirectProduct.inl_aut /-
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
 #align semidirect_product.inl_aut SemidirectProduct.inl_aut
+-/
 
+#print SemidirectProduct.inl_aut_inv /-
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
 #align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_inv
+-/
 
+#print SemidirectProduct.mk_eq_inl_mul_inr /-
 @[simp]
 theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n * inr g := by ext <;> simp
 #align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inr
+-/
 
+#print SemidirectProduct.inl_left_mul_inr_right /-
 @[simp]
 theorem inl_left_mul_inr_right (x : N ⋊[φ] G) : inl x.left * inr x.right = x := by ext <;> simp
 #align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_right
+-/
 
+#print SemidirectProduct.rightHom /-
 /-- The canonical projection map `N ⋊[φ] G →* G`, as a group hom. -/
 def rightHom : N ⋊[φ] G →* G where
   toFun := SemidirectProduct.right
   map_one' := rfl
   map_mul' _ _ := rfl
 #align semidirect_product.right_hom SemidirectProduct.rightHom
+-/
 
+#print SemidirectProduct.rightHom_eq_right /-
 @[simp]
 theorem rightHom_eq_right : (rightHom : N ⋊[φ] G → G) = right :=
   rfl
 #align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_right
+-/
 
+#print SemidirectProduct.rightHom_comp_inl /-
 @[simp]
 theorem rightHom_comp_inl : (rightHom : N ⋊[φ] G →* G).comp inl = 1 := by ext <;> simp [right_hom]
 #align semidirect_product.right_hom_comp_inl SemidirectProduct.rightHom_comp_inl
+-/
 
+#print SemidirectProduct.rightHom_comp_inr /-
 @[simp]
 theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom.id _ := by
   ext <;> simp [right_hom]
 #align semidirect_product.right_hom_comp_inr SemidirectProduct.rightHom_comp_inr
+-/
 
+#print SemidirectProduct.rightHom_inl /-
 @[simp]
 theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [right_hom]
 #align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inl
+-/
 
+#print SemidirectProduct.rightHom_inr /-
 @[simp]
 theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [right_hom]
 #align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inr
+-/
 
+#print SemidirectProduct.rightHom_surjective /-
 theorem rightHom_surjective : Function.Surjective (rightHom : N ⋊[φ] G → G) :=
   Function.surjective_iff_hasRightInverse.2 ⟨inr, rightHom_inr⟩
 #align semidirect_product.right_hom_surjective SemidirectProduct.rightHom_surjective
+-/
 
+#print SemidirectProduct.range_inl_eq_ker_rightHom /-
 theorem range_inl_eq_ker_rightHom : (inl : N →* N ⋊[φ] G).range = rightHom.ker :=
   le_antisymm (fun _ => by simp (config := { contextual := true }) [MonoidHom.mem_ker, eq_comm])
     fun x hx => ⟨x.left, by ext <;> simp_all [MonoidHom.mem_ker]⟩
 #align semidirect_product.range_inl_eq_ker_right_hom SemidirectProduct.range_inl_eq_ker_rightHom
+-/
 
 section lift
 
 variable (f₁ : N →* H) (f₂ : G →* H)
   (h : ∀ g, f₁.comp (φ g).toMonoidHom = (MulAut.conj (f₂ g)).toMonoidHom.comp f₁)
 
+#print SemidirectProduct.lift /-
 /-- Define a group hom `N ⋊[φ] G →* H`, by defining maps `N →* H` and `G →* H`  -/
 def lift (f₁ : N →* H) (f₂ : G →* H)
     (h : ∀ g, f₁.comp (φ g).toMonoidHom = (MulAut.conj (f₂ g)).toMonoidHom.comp f₁) : N ⋊[φ] G →* H
@@ -224,23 +282,33 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
     simp only [MulAut.conj_apply, MonoidHom.comp_apply, MulEquiv.coe_toMonoidHom] at this 
     simp [this, mul_assoc]
 #align semidirect_product.lift SemidirectProduct.lift
+-/
 
+#print SemidirectProduct.lift_inl /-
 @[simp]
 theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 #align semidirect_product.lift_inl SemidirectProduct.lift_inl
+-/
 
+#print SemidirectProduct.lift_comp_inl /-
 @[simp]
 theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
 #align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inl
+-/
 
+#print SemidirectProduct.lift_inr /-
 @[simp]
 theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 #align semidirect_product.lift_inr SemidirectProduct.lift_inr
+-/
 
+#print SemidirectProduct.lift_comp_inr /-
 @[simp]
 theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 #align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inr
+-/
 
+#print SemidirectProduct.lift_unique /-
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
   by
@@ -248,12 +316,15 @@ theorem lift_unique (F : N ⋊[φ] G →* H) :
   simp only [lift, MonoidHom.comp_apply, MonoidHom.coe_mk]
   rw [← F.map_mul, inl_left_mul_inr_right]
 #align semidirect_product.lift_unique SemidirectProduct.lift_unique
+-/
 
+#print SemidirectProduct.hom_ext /-
 /-- Two maps out of the semidirect product are equal if they're equal after composition
   with both `inl` and `inr` -/
 theorem hom_ext {f g : N ⋊[φ] G →* H} (hl : f.comp inl = g.comp inl)
     (hr : f.comp inr = g.comp inr) : f = g := by rw [lift_unique f, lift_unique g]; simp only [*]
 #align semidirect_product.hom_ext SemidirectProduct.hom_ext
+-/
 
 end lift
 
@@ -261,6 +332,7 @@ section Map
 
 variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁ →* MulAut N₁}
 
+#print SemidirectProduct.map /-
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
 def map (f₁ : N →* N₁) (f₂ : G →* G₁)
@@ -272,40 +344,55 @@ def map (f₁ : N →* N₁) (f₂ : G →* G₁)
     replace h := MonoidHom.ext_iff.1 (h x.right) y.left
     ext <;> simp_all
 #align semidirect_product.map SemidirectProduct.map
+-/
 
 variable (f₁ : N →* N₁) (f₂ : G →* G₁)
   (h : ∀ g : G, f₁.comp (φ g).toMonoidHom = (φ₁ (f₂ g)).toMonoidHom.comp f₁)
 
+#print SemidirectProduct.map_left /-
 @[simp]
 theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
   rfl
 #align semidirect_product.map_left SemidirectProduct.map_left
+-/
 
+#print SemidirectProduct.map_right /-
 @[simp]
 theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :=
   rfl
 #align semidirect_product.map_right SemidirectProduct.map_right
+-/
 
+#print SemidirectProduct.rightHom_comp_map /-
 @[simp]
 theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom :=
   rfl
 #align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_map
+-/
 
+#print SemidirectProduct.map_inl /-
 @[simp]
 theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map]
 #align semidirect_product.map_inl SemidirectProduct.map_inl
+-/
 
+#print SemidirectProduct.map_comp_inl /-
 @[simp]
 theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;> simp
 #align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inl
+-/
 
+#print SemidirectProduct.map_inr /-
 @[simp]
 theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map]
 #align semidirect_product.map_inr SemidirectProduct.map_inr
+-/
 
+#print SemidirectProduct.map_comp_inr /-
 @[simp]
 theorem map_comp_inr : (map f₁ f₂ h).comp inr = inr.comp f₂ := by ext <;> simp [map]
 #align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inr
+-/
 
 end Map
 
Diff
@@ -221,7 +221,7 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
   map_one' := by simp
   map_mul' a b := by
     have := fun n g => MonoidHom.ext_iff.1 (h n) g
-    simp only [MulAut.conj_apply, MonoidHom.comp_apply, MulEquiv.coe_toMonoidHom] at this
+    simp only [MulAut.conj_apply, MonoidHom.comp_apply, MulEquiv.coe_toMonoidHom] at this 
     simp [this, mul_assoc]
 #align semidirect_product.lift SemidirectProduct.lift
 
Diff
@@ -41,12 +41,6 @@ group, semidirect product
 
 variable (N : Type _) (G : Type _) {H : Type _} [Group N] [Group G] [Group H]
 
-/- warning: semidirect_product -> SemidirectProduct is a dubious translation:
-lean 3 declaration is
-  forall (N : Type.{u1}) (G : Type.{u2}) [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G], (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) -> Sort.{max (succ u1) (succ u2)}
-but is expected to have type
-  forall (N : Type.{u1}) (G : Type.{u2}) [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G], (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) -> Sort.{max (succ u1) (succ u2)}
-Case conversion may be inaccurate. Consider using '#align semidirect_product SemidirectProductₓ'. -/
 /-- The semidirect product of groups `N` and `G`, given a map `φ` from `G` to the automorphism
   group of `N`. It the product of sets with the group operation
   `⟨n₁, g₁⟩ * ⟨n₂, g₂⟩ = ⟨n₁ * φ g₁ n₂, g₁ * g₂⟩` -/
@@ -78,72 +72,36 @@ instance : Group (N ⋊[φ] G) where
 instance : Inhabited (N ⋊[φ] G) :=
   ⟨1⟩
 
-/- warning: semidirect_product.one_left -> SemidirectProduct.one_left is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (OfNat.ofNat.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) 1 (OfNat.mk.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) 1 (One.one.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasOne.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))))))) (OfNat.ofNat.{u1} N 1 (OfNat.mk.{u1} N 1 (One.one.{u1} N (MulOneClass.toHasOne.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (OfNat.ofNat.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) 1 (One.toOfNat1.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instOneSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.one_left SemidirectProduct.one_leftₓ'. -/
 @[simp]
 theorem one_left : (1 : N ⋊[φ] G).left = 1 :=
   rfl
 #align semidirect_product.one_left SemidirectProduct.one_left
 
-/- warning: semidirect_product.one_right -> SemidirectProduct.one_right is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (OfNat.ofNat.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) 1 (OfNat.mk.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) 1 (One.one.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasOne.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))))))) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (OfNat.ofNat.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) 1 (One.toOfNat1.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instOneSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.one_right SemidirectProduct.one_rightₓ'. -/
 @[simp]
 theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
   rfl
 #align semidirect_product.one_right SemidirectProduct.one_right
 
-/- warning: semidirect_product.inv_left -> SemidirectProduct.inv_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_left SemidirectProduct.inv_leftₓ'. -/
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
   rfl
 #align semidirect_product.inv_left SemidirectProduct.inv_left
 
-/- warning: semidirect_product.inv_right -> SemidirectProduct.inv_right is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))) a)) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u1} G (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_right SemidirectProduct.inv_rightₓ'. -/
 @[simp]
 theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
   rfl
 #align semidirect_product.inv_right SemidirectProduct.inv_right
 
-/- warning: semidirect_product.mul_left -> SemidirectProduct.mul_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_left SemidirectProduct.mul_leftₓ'. -/
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
   rfl
 #align semidirect_product.mul_left SemidirectProduct.mul_left
 
-/- warning: semidirect_product.mul_right -> SemidirectProduct.mul_right is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) a b)) (HMul.hMul.{u2, u2, u2} G G G (instHMul.{u2} G (MulOneClass.toHasMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))))) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ b))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u1} G (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u1, u1, u1} G G G (instHMul.{u1} G (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ b))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_right SemidirectProduct.mul_rightₓ'. -/
 @[simp]
 theorem mul_right (a b : N ⋊[φ] G) : (a * b).right = a.right * b.right :=
   rfl
 #align semidirect_product.mul_right SemidirectProduct.mul_right
 
-/- warning: semidirect_product.inl -> SemidirectProduct.inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inl SemidirectProduct.inlₓ'. -/
 /-- The canonical map `N →* N ⋊[φ] G` sending `n` to `⟨n, 1⟩` -/
 def inl : N →* N ⋊[φ] G where
   toFun n := ⟨n, 1⟩
@@ -151,52 +109,25 @@ def inl : N →* N ⋊[φ] G where
   map_mul' := by intros <;> ext <;> simp
 #align semidirect_product.inl SemidirectProduct.inl
 
-/- warning: semidirect_product.left_inl -> SemidirectProduct.left_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) n
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
-Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inl SemidirectProduct.left_inlₓ'. -/
 @[simp]
 theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
   rfl
 #align semidirect_product.left_inl SemidirectProduct.left_inl
 
-/- warning: semidirect_product.right_inl -> SemidirectProduct.right_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inl SemidirectProduct.right_inlₓ'. -/
 @[simp]
 theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
   rfl
 #align semidirect_product.right_inl SemidirectProduct.right_inl
 
-/- warning: semidirect_product.inl_injective -> SemidirectProduct.inl_injective is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u1, max (succ u1) (succ u2)} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_injective SemidirectProduct.inl_injectiveₓ'. -/
 theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨left, left_inl⟩
 #align semidirect_product.inl_injective SemidirectProduct.inl_injective
 
-/- warning: semidirect_product.inl_inj -> SemidirectProduct.inl_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_inj SemidirectProduct.inl_injₓ'. -/
 @[simp]
 theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ = n₂ :=
   inl_injective.eq_iff
 #align semidirect_product.inl_inj SemidirectProduct.inl_inj
 
-/- warning: semidirect_product.inr -> SemidirectProduct.inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inr SemidirectProduct.inrₓ'. -/
 /-- The canonical map `G →* N ⋊[φ] G` sending `g` to `⟨1, g⟩` -/
 def inr : G →* N ⋊[φ] G where
   toFun g := ⟨1, g⟩
@@ -204,80 +135,41 @@ def inr : G →* N ⋊[φ] G where
   map_mul' := by intros <;> ext <;> simp
 #align semidirect_product.inr SemidirectProduct.inr
 
-/- warning: semidirect_product.left_inr -> SemidirectProduct.left_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u1} N 1 (OfNat.mk.{u1} N 1 (One.one.{u1} N (MulOneClass.toHasOne.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inr SemidirectProduct.left_inrₓ'. -/
 @[simp]
 theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
   rfl
 #align semidirect_product.left_inr SemidirectProduct.left_inr
 
-/- warning: semidirect_product.right_inr -> SemidirectProduct.right_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inr SemidirectProduct.right_inrₓ'. -/
 @[simp]
 theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
   rfl
 #align semidirect_product.right_inr SemidirectProduct.right_inr
 
-/- warning: semidirect_product.inr_injective -> SemidirectProduct.inr_injective is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_injective SemidirectProduct.inr_injectiveₓ'. -/
 theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨right, right_inr⟩
 #align semidirect_product.inr_injective SemidirectProduct.inr_injective
 
-/- warning: semidirect_product.inr_inj -> SemidirectProduct.inr_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_inj SemidirectProduct.inr_injₓ'. -/
 @[simp]
 theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ = g₂ :=
   inr_injective.eq_iff
 #align semidirect_product.inr_inj SemidirectProduct.inr_inj
 
-/- warning: semidirect_product.inl_aut -> SemidirectProduct.inl_aut is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut SemidirectProduct.inl_autₓ'. -/
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
 #align semidirect_product.inl_aut SemidirectProduct.inl_aut
 
-/- warning: semidirect_product.inl_aut_inv -> SemidirectProduct.inl_aut_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_invₓ'. -/
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
 #align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_inv
 
-/- warning: semidirect_product.mk_eq_inl_mul_inr -> SemidirectProduct.mk_eq_inl_mul_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inrₓ'. -/
 @[simp]
 theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n * inr g := by ext <;> simp
 #align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inr
 
-/- warning: semidirect_product.inl_left_mul_inr_right -> SemidirectProduct.inl_left_mul_inr_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_rightₓ'. -/
 @[simp]
 theorem inl_left_mul_inr_right (x : N ⋊[φ] G) : inl x.left * inr x.right = x := by ext <;> simp
 #align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_right
 
-/- warning: semidirect_product.right_hom -> SemidirectProduct.rightHom is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom SemidirectProduct.rightHomₓ'. -/
 /-- The canonical projection map `N ⋊[φ] G →* G`, as a group hom. -/
 def rightHom : N ⋊[φ] G →* G where
   toFun := SemidirectProduct.right
@@ -285,68 +177,32 @@ def rightHom : N ⋊[φ] G →* G where
   map_mul' _ _ := rfl
 #align semidirect_product.right_hom SemidirectProduct.rightHom
 
-/- warning: semidirect_product.right_hom_eq_right -> SemidirectProduct.rightHom_eq_right is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ)
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_rightₓ'. -/
 @[simp]
 theorem rightHom_eq_right : (rightHom : N ⋊[φ] G → G) = right :=
   rfl
 #align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_right
 
-/- warning: semidirect_product.right_hom_comp_inl -> SemidirectProduct.rightHom_comp_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (MonoidHom.{u1, u2} N G (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHom.comp.{u1, max u1 u2, u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (OfNat.ofNat.{max u2 u1} (MonoidHom.{u1, u2} N G (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) 1 (OfNat.mk.{max u2 u1} (MonoidHom.{u1, u2} N G (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) 1 (One.one.{max u2 u1} (MonoidHom.{u1, u2} N G (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHom.hasOne.{u1, u2} N G (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (MonoidHom.{u2, u1} N G (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHom.comp.{u2, max u2 u1, u1} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ)) (OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} N G (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} N G (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (instOneMonoidHom.{u2, u1} N G (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_inl SemidirectProduct.rightHom_comp_inlₓ'. -/
 @[simp]
 theorem rightHom_comp_inl : (rightHom : N ⋊[φ] G →* G).comp inl = 1 := by ext <;> simp [right_hom]
 #align semidirect_product.right_hom_comp_inl SemidirectProduct.rightHom_comp_inl
 
-/- warning: semidirect_product.right_hom_comp_inr -> SemidirectProduct.rightHom_comp_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{succ u2} (MonoidHom.{u2, u2} G G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHom.comp.{u2, max u1 u2, u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.id.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{succ u2} (MonoidHom.{u2, u2} G G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHom.comp.{u2, max u1 u2, u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.id.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_inr SemidirectProduct.rightHom_comp_inrₓ'. -/
 @[simp]
 theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom.id _ := by
   ext <;> simp [right_hom]
 #align semidirect_product.right_hom_comp_inr SemidirectProduct.rightHom_comp_inr
 
-/- warning: semidirect_product.right_hom_inl -> SemidirectProduct.rightHom_inl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inlₓ'. -/
 @[simp]
 theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [right_hom]
 #align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inl
 
-/- warning: semidirect_product.right_hom_inr -> SemidirectProduct.rightHom_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inrₓ'. -/
 @[simp]
 theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [right_hom]
 #align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inr
 
-/- warning: semidirect_product.right_hom_surjective -> SemidirectProduct.rightHom_surjective is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Surjective.{max (succ u1) (succ u2), succ u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_surjective SemidirectProduct.rightHom_surjectiveₓ'. -/
 theorem rightHom_surjective : Function.Surjective (rightHom : N ⋊[φ] G → G) :=
   Function.surjective_iff_hasRightInverse.2 ⟨inr, rightHom_inr⟩
 #align semidirect_product.right_hom_surjective SemidirectProduct.rightHom_surjective
 
-/- warning: semidirect_product.range_inl_eq_ker_right_hom -> SemidirectProduct.range_inl_eq_ker_rightHom is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{succ (max u1 u2)} (Subgroup.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.range.{u1, max u1 u2} N _inst_1 (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.ker.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (Subgroup.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.range.{u2, max u2 u1} N _inst_1 (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.ker.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
-Case conversion may be inaccurate. Consider using '#align semidirect_product.range_inl_eq_ker_right_hom SemidirectProduct.range_inl_eq_ker_rightHomₓ'. -/
 theorem range_inl_eq_ker_rightHom : (inl : N →* N ⋊[φ] G).range = rightHom.ker :=
   le_antisymm (fun _ => by simp (config := { contextual := true }) [MonoidHom.mem_ker, eq_comm])
     fun x hx => ⟨x.left, by ext <;> simp_all [MonoidHom.mem_ker]⟩
@@ -357,9 +213,6 @@ section lift
 variable (f₁ : N →* H) (f₂ : G →* H)
   (h : ∀ g, f₁.comp (φ g).toMonoidHom = (MulAut.conj (f₂ g)).toMonoidHom.comp f₁)
 
-/- warning: semidirect_product.lift -> SemidirectProduct.lift is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.lift SemidirectProduct.liftₓ'. -/
 /-- Define a group hom `N ⋊[φ] G →* H`, by defining maps `N →* H` and `G →* H`  -/
 def lift (f₁ : N →* H) (f₂ : G →* H)
     (h : ∀ g, f₁.comp (φ g).toMonoidHom = (MulAut.conj (f₂ g)).toMonoidHom.comp f₁) : N ⋊[φ] G →* H
@@ -372,37 +225,22 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
     simp [this, mul_assoc]
 #align semidirect_product.lift SemidirectProduct.lift
 
-/- warning: semidirect_product.lift_inl -> SemidirectProduct.lift_inl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inl SemidirectProduct.lift_inlₓ'. -/
 @[simp]
 theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 #align semidirect_product.lift_inl SemidirectProduct.lift_inl
 
-/- warning: semidirect_product.lift_comp_inl -> SemidirectProduct.lift_comp_inl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inlₓ'. -/
 @[simp]
 theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
 #align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inl
 
-/- warning: semidirect_product.lift_inr -> SemidirectProduct.lift_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inr SemidirectProduct.lift_inrₓ'. -/
 @[simp]
 theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 #align semidirect_product.lift_inr SemidirectProduct.lift_inr
 
-/- warning: semidirect_product.lift_comp_inr -> SemidirectProduct.lift_comp_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inrₓ'. -/
 @[simp]
 theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 #align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inr
 
-/- warning: semidirect_product.lift_unique -> SemidirectProduct.lift_unique is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_unique SemidirectProduct.lift_uniqueₓ'. -/
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
   by
@@ -411,9 +249,6 @@ theorem lift_unique (F : N ⋊[φ] G →* H) :
   rw [← F.map_mul, inl_left_mul_inr_right]
 #align semidirect_product.lift_unique SemidirectProduct.lift_unique
 
-/- warning: semidirect_product.hom_ext -> SemidirectProduct.hom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.hom_ext SemidirectProduct.hom_extₓ'. -/
 /-- Two maps out of the semidirect product are equal if they're equal after composition
   with both `inl` and `inr` -/
 theorem hom_ext {f g : N ⋊[φ] G →* H} (hl : f.comp inl = g.comp inl)
@@ -426,9 +261,6 @@ section Map
 
 variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁ →* MulAut N₁}
 
-/- warning: semidirect_product.map -> SemidirectProduct.map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map SemidirectProduct.mapₓ'. -/
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
 def map (f₁ : N →* N₁) (f₂ : G →* G₁)
@@ -444,54 +276,33 @@ def map (f₁ : N →* N₁) (f₂ : G →* G₁)
 variable (f₁ : N →* N₁) (f₂ : G →* G₁)
   (h : ∀ g : G, f₁.comp (φ g).toMonoidHom = (φ₁ (f₂ g)).toMonoidHom.comp f₁)
 
-/- warning: semidirect_product.map_left -> SemidirectProduct.map_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map_left SemidirectProduct.map_leftₓ'. -/
 @[simp]
 theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
   rfl
 #align semidirect_product.map_left SemidirectProduct.map_left
 
-/- warning: semidirect_product.map_right -> SemidirectProduct.map_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map_right SemidirectProduct.map_rightₓ'. -/
 @[simp]
 theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :=
   rfl
 #align semidirect_product.map_right SemidirectProduct.map_right
 
-/- warning: semidirect_product.right_hom_comp_map -> SemidirectProduct.rightHom_comp_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_mapₓ'. -/
 @[simp]
 theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom :=
   rfl
 #align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_map
 
-/- warning: semidirect_product.map_inl -> SemidirectProduct.map_inl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inl SemidirectProduct.map_inlₓ'. -/
 @[simp]
 theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map]
 #align semidirect_product.map_inl SemidirectProduct.map_inl
 
-/- warning: semidirect_product.map_comp_inl -> SemidirectProduct.map_comp_inl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inlₓ'. -/
 @[simp]
 theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;> simp
 #align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inl
 
-/- warning: semidirect_product.map_inr -> SemidirectProduct.map_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inr SemidirectProduct.map_inrₓ'. -/
 @[simp]
 theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map]
 #align semidirect_product.map_inr SemidirectProduct.map_inr
 
-/- warning: semidirect_product.map_comp_inr -> SemidirectProduct.map_comp_inr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inrₓ'. -/
 @[simp]
 theorem map_comp_inr : (map f₁ f₂ h).comp inr = inr.comp f₂ := by ext <;> simp [map]
 #align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inr
Diff
@@ -417,10 +417,7 @@ Case conversion may be inaccurate. Consider using '#align semidirect_product.hom
 /-- Two maps out of the semidirect product are equal if they're equal after composition
   with both `inl` and `inr` -/
 theorem hom_ext {f g : N ⋊[φ] G →* H} (hl : f.comp inl = g.comp inl)
-    (hr : f.comp inr = g.comp inr) : f = g :=
-  by
-  rw [lift_unique f, lift_unique g]
-  simp only [*]
+    (hr : f.comp inr = g.comp inr) : f = g := by rw [lift_unique f, lift_unique g]; simp only [*]
 #align semidirect_product.hom_ext SemidirectProduct.hom_ext
 
 end lift
Diff
@@ -101,10 +101,7 @@ theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
 #align semidirect_product.one_right SemidirectProduct.one_right
 
 /- warning: semidirect_product.inv_left -> SemidirectProduct.inv_left is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))) a)) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u1} N (DivInvMonoid.toHasInv.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a)))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_left SemidirectProduct.inv_leftₓ'. -/
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
@@ -123,10 +120,7 @@ theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
 #align semidirect_product.inv_right SemidirectProduct.inv_right
 
 /- warning: semidirect_product.mul_left -> SemidirectProduct.mul_left is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) a b)) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ b)))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_left SemidirectProduct.mul_leftₓ'. -/
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
@@ -190,10 +184,7 @@ theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
 #align semidirect_product.inl_injective SemidirectProduct.inl_injective
 
 /- warning: semidirect_product.inl_inj -> SemidirectProduct.inl_inj is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₁) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u1} N n₁ n₂)
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_inj SemidirectProduct.inl_injₓ'. -/
 @[simp]
 theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ = n₂ :=
@@ -246,10 +237,7 @@ theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
 #align semidirect_product.inr_injective SemidirectProduct.inr_injective
 
 /- warning: semidirect_product.inr_inj -> SemidirectProduct.inr_inj is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₁) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u2} G g₁ g₂)
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_inj SemidirectProduct.inr_injₓ'. -/
 @[simp]
 theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ = g₂ :=
@@ -257,40 +245,28 @@ theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ =
 #align semidirect_product.inr_inj SemidirectProduct.inr_inj
 
 /- warning: semidirect_product.inl_aut -> SemidirectProduct.inl_aut is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut SemidirectProduct.inl_autₓ'. -/
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
 #align semidirect_product.inl_aut SemidirectProduct.inl_aut
 
 /- warning: semidirect_product.inl_aut_inv -> SemidirectProduct.inl_aut_inv is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Inv.inv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toHasInv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g)) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_invₓ'. -/
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
 #align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_inv
 
 /- warning: semidirect_product.mk_eq_inl_mul_inr -> SemidirectProduct.mk_eq_inl_mul_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u1, u2} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inrₓ'. -/
 @[simp]
 theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n * inr g := by ext <;> simp
 #align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inr
 
 /- warning: semidirect_product.inl_left_mul_inr_right -> SemidirectProduct.inl_left_mul_inr_right is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ (max u1 u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ x))) x
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_rightₓ'. -/
 @[simp]
 theorem inl_left_mul_inr_right (x : N ⋊[φ] G) : inl x.left * inr x.right = x := by ext <;> simp
@@ -342,20 +318,14 @@ theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom
 #align semidirect_product.right_hom_comp_inr SemidirectProduct.rightHom_comp_inr
 
 /- warning: semidirect_product.right_hom_inl -> SemidirectProduct.rightHom_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inlₓ'. -/
 @[simp]
 theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [right_hom]
 #align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inl
 
 /- warning: semidirect_product.right_hom_inr -> SemidirectProduct.rightHom_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inrₓ'. -/
 @[simp]
 theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [right_hom]
@@ -388,10 +358,7 @@ variable (f₁ : N →* H) (f₂ : G →* H)
   (h : ∀ g, f₁.comp (φ g).toMonoidHom = (MulAut.conj (f₂ g)).toMonoidHom.comp f₁)
 
 /- warning: semidirect_product.lift -> SemidirectProduct.lift is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift SemidirectProduct.liftₓ'. -/
 /-- Define a group hom `N ⋊[φ] G →* H`, by defining maps `N →* H` and `G →* H`  -/
 def lift (f₁ : N →* H) (f₂ : G →* H)
@@ -406,50 +373,35 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
 #align semidirect_product.lift SemidirectProduct.lift
 
 /- warning: semidirect_product.lift_inl -> SemidirectProduct.lift_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (n : N), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₁ n)
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inl SemidirectProduct.lift_inlₓ'. -/
 @[simp]
 theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 #align semidirect_product.lift_inl SemidirectProduct.lift_inl
 
 /- warning: semidirect_product.lift_comp_inl -> SemidirectProduct.lift_comp_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) f₁
-but is expected to have type
-  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inlₓ'. -/
 @[simp]
 theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
 #align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inl
 
 /- warning: semidirect_product.lift_inr -> SemidirectProduct.lift_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (g : G), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g)
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inr SemidirectProduct.lift_inrₓ'. -/
 @[simp]
 theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 #align semidirect_product.lift_inr SemidirectProduct.lift_inr
 
 /- warning: semidirect_product.lift_comp_inr -> SemidirectProduct.lift_comp_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) f₂
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inrₓ'. -/
 @[simp]
 theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 #align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inr
 
 /- warning: semidirect_product.lift_unique -> SemidirectProduct.lift_unique is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (F : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (fun (x : N) => Eq.mpr.{0} (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) ((fun (a : H) (a_1 : H) (e_1 : Eq.{succ u3} H a a_1) (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, 1} H Prop (Eq.{succ u3} H a) (Eq.{succ u3} H a_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} H (H -> Prop) a a_1 (Eq.{succ u3} H) e_1) e_2) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (MonoidHom.coe_comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) ((fun (f : N -> H) (f_1 : N -> H) (e_1 : Eq.{max (succ u1) (succ u3)} (N -> H) f f_1) (g : N -> N) (g_1 : N -> N) (e_2 : Eq.{succ u1} (N -> N) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u1, succ u3} N N H f g) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1 g_1) ᾰ ᾰ_1 (congr.{succ u1, max (succ u1) (succ u3)} (N -> N) (N -> H) (Function.comp.{succ u1, succ u1, succ u3} N N H f) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1) g g_1 (congr_arg.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) ((N -> N) -> N -> H) f f_1 (Function.comp.{succ u1, succ u1, succ u3} N N H) e_1) e_2) e_3) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) (MulEquiv.coe_toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H)] (x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) => congr.{max (succ u1) (succ u2), succ u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ (max u1 u2)), max (max (succ u1) (succ u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) x) x x_1 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F F (rfl.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u1, u2} N G _inst_1 _inst_2 φ _x x) ((fun [self : Mul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)] (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_2 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) (ᾰ_2 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_3 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ_2 ᾰ_3) => congr.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ((SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) ᾰ ᾰ_1 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self)) e_2) e_3) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (rfl.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (map_inv.{u2, max u1 u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (map_mul_inv.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u3} H _inst_3) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [self : Mul.{u3} H] (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) (ᾰ_2 : H) (ᾰ_3 : H) (e_3 : Eq.{succ u3} H ᾰ_2 ᾰ_3) => congr.{succ u3, succ u3} H H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u3, succ u3} H (H -> H) ᾰ ᾰ_1 (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self)) e_2) e_3) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (map_mul.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} H (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H)] (x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) x) x x_1 (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) ((fun (hnp : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hnp_1 : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_1 : Eq.{succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hnp hnp_1) (hmn : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hmn_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hmn hmn_1) => congr.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp_1) hmn hmn_1 (congr_arg.{succ u3, max (succ u3) (succ u1)} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) -> (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) hnp hnp_1 (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) e_2) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) ((fun (h : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (h_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_1 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) h h_1) => congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) h h_1 (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))] (x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (x_1 : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (e_2 : Eq.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) ((fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) x) x x_1 (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (MulAut.conj.{u3} H _inst_3) (rfl.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (Eq.trans.{succ u3} ((fun (ᾰ : G) => H) _x) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (congr_fun.{succ u2, succ u3} G (fun (ᾰ : G) => H) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp_apply.{succ u2, max (succ u1) (succ u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (rfl.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) x x (rfl.{succ u1} N x)) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.coe_comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun (f : H -> H) (f_1 : H -> H) (e_1 : Eq.{succ u3} (H -> H) f f_1) (g : N -> H) (g_1 : N -> H) (e_2 : Eq.{max (succ u1) (succ u3)} (N -> H) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u3, succ u3} N H H f g) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1 g_1) ᾰ ᾰ_1 (congr.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) (N -> H) (Function.comp.{succ u1, succ u3, succ u3} N H H f) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1) g g_1 (congr_arg.{succ u3, max (succ u1) (succ u3)} (H -> H) ((N -> H) -> N -> H) f f_1 (Function.comp.{succ u1, succ u3, succ u3} N H H) e_1) e_2) e_3) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MulEquiv.coe_toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H)] (x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (x_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_2 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) ((fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) x) x x_1 (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1) e_2) e_3) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x))) (MulAut.conj_apply.{u3} H _inst_3 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (propext (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (eq_self_iff_true.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) trivial)))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_unique SemidirectProduct.lift_uniqueₓ'. -/
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
@@ -460,10 +412,7 @@ theorem lift_unique (F : N ⋊[φ] G →* H) :
 #align semidirect_product.lift_unique SemidirectProduct.lift_unique
 
 /- warning: semidirect_product.hom_ext -> SemidirectProduct.hom_ext is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {f : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))} {g : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))}, (Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) g (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) -> (Eq.{max (succ u3) (succ u2)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) g (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) -> (Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f g)
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {f : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))} {g : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))}, (Eq.{max (succ u2) (succ u1)} (MonoidHom.{u2, u1} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) f (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) g (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) -> (Eq.{max (succ u3) (succ u1)} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) f (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) g (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ))) -> (Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.hom_ext SemidirectProduct.hom_extₓ'. -/
 /-- Two maps out of the semidirect product are equal if they're equal after composition
   with both `inl` and `inr` -/
@@ -481,10 +430,7 @@ section Map
 variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁ →* MulAut N₁}
 
 /- warning: semidirect_product.map -> SemidirectProduct.map is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map SemidirectProduct.mapₓ'. -/
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
@@ -502,10 +448,7 @@ variable (f₁ : N →* N₁) (f₂ : G →* G₁)
   (h : ∀ g : G, f₁.comp (φ g).toMonoidHom = (φ₁ (f₂ g)).toMonoidHom.comp f₁)
 
 /- warning: semidirect_product.map_left -> SemidirectProduct.map_left is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u3} N₁ (SemidirectProduct.left.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ g))
-but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_left SemidirectProduct.map_leftₓ'. -/
 @[simp]
 theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
@@ -513,10 +456,7 @@ theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
 #align semidirect_product.map_left SemidirectProduct.map_left
 
 /- warning: semidirect_product.map_right -> SemidirectProduct.map_right is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u4} G₁ (SemidirectProduct.right.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ g))
-but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_right SemidirectProduct.map_rightₓ'. -/
 @[simp]
 theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :=
@@ -524,10 +464,7 @@ theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :
 #align semidirect_product.map_right SemidirectProduct.map_right
 
 /- warning: semidirect_product.right_hom_comp_map -> SemidirectProduct.rightHom_comp_map is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ u4) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHom.comp.{max u1 u2, max u3 u4, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (SemidirectProduct.rightHom.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u1 u2, u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
-but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_mapₓ'. -/
 @[simp]
 theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom :=
@@ -535,40 +472,28 @@ theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom
 #align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_map
 
 /- warning: semidirect_product.map_inl -> SemidirectProduct.map_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (n : N), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u3 u4)) (succ u3), max (succ u3) (succ (max u3 u4))} (MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => N₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ n))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inl SemidirectProduct.map_inlₓ'. -/
 @[simp]
 theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map]
 #align semidirect_product.map_inl SemidirectProduct.map_inl
 
 /- warning: semidirect_product.map_comp_inl -> SemidirectProduct.map_comp_inl is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u1)} (MonoidHom.{u1, max u3 u4} N (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u1, max u1 u2, max u3 u4} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, u3, max u3 u4} N N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
-but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inlₓ'. -/
 @[simp]
 theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;> simp
 #align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inl
 
 /- warning: semidirect_product.map_inr -> SemidirectProduct.map_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : G), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ (max u3 u4)) (succ u4), max (succ u4) (succ (max u3 u4))} (MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => G₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))
-but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inr SemidirectProduct.map_inrₓ'. -/
 @[simp]
 theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map]
 #align semidirect_product.map_inr SemidirectProduct.map_inr
 
 /- warning: semidirect_product.map_comp_inr -> SemidirectProduct.map_comp_inr is a dubious translation:
-lean 3 declaration is
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u2)} (MonoidHom.{u2, max u3 u4} G (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u2, max u1 u2, max u3 u4} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, u4, max u3 u4} G G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
-but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
+<too large>
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inrₓ'. -/
 @[simp]
 theorem map_comp_inr : (map f₁ f₂ h).comp inr = inr.comp f₂ := by ext <;> simp [map]
Diff
@@ -104,7 +104,7 @@ theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))) a)) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u1} N (DivInvMonoid.toHasInv.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_left SemidirectProduct.inv_leftₓ'. -/
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
@@ -126,7 +126,7 @@ theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) a b)) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ b)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_left SemidirectProduct.mul_leftₓ'. -/
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
@@ -161,7 +161,7 @@ def inl : N →* N ⋊[φ] G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) n
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
 Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inl SemidirectProduct.left_inlₓ'. -/
 @[simp]
 theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
@@ -172,7 +172,7 @@ theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inl SemidirectProduct.right_inlₓ'. -/
 @[simp]
 theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
@@ -183,7 +183,7 @@ theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u1, max (succ u1) (succ u2)} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_injective SemidirectProduct.inl_injectiveₓ'. -/
 theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨left, left_inl⟩
@@ -193,7 +193,7 @@ theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₁) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u1} N n₁ n₂)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_inj SemidirectProduct.inl_injₓ'. -/
 @[simp]
 theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ = n₂ :=
@@ -217,7 +217,7 @@ def inr : G →* N ⋊[φ] G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u1} N 1 (OfNat.mk.{u1} N 1 (One.one.{u1} N (MulOneClass.toHasOne.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inr SemidirectProduct.left_inrₓ'. -/
 @[simp]
 theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
@@ -228,7 +228,7 @@ theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inr SemidirectProduct.right_inrₓ'. -/
 @[simp]
 theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
@@ -239,7 +239,7 @@ theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_injective SemidirectProduct.inr_injectiveₓ'. -/
 theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨right, right_inr⟩
@@ -249,7 +249,7 @@ theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₁) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u2} G g₁ g₂)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_inj SemidirectProduct.inr_injₓ'. -/
 @[simp]
 theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ = g₂ :=
@@ -260,7 +260,7 @@ theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ =
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut SemidirectProduct.inl_autₓ'. -/
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
@@ -270,7 +270,7 @@ theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Inv.inv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toHasInv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g)) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_invₓ'. -/
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
@@ -280,7 +280,7 @@ theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u1, u2} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inrₓ'. -/
 @[simp]
 theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n * inr g := by ext <;> simp
@@ -290,7 +290,7 @@ theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ (max u1 u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ x))) x
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_rightₓ'. -/
 @[simp]
 theorem inl_left_mul_inr_right (x : N ⋊[φ] G) : inl x.left * inr x.right = x := by ext <;> simp
@@ -313,7 +313,7 @@ def rightHom : N ⋊[φ] G →* G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_rightₓ'. -/
 @[simp]
 theorem rightHom_eq_right : (rightHom : N ⋊[φ] G → G) = right :=
@@ -345,7 +345,7 @@ theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inlₓ'. -/
 @[simp]
 theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [right_hom]
@@ -355,7 +355,7 @@ theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [ri
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inrₓ'. -/
 @[simp]
 theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [right_hom]
@@ -365,7 +365,7 @@ theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [ri
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Surjective.{max (succ u1) (succ u2), succ u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_surjective SemidirectProduct.rightHom_surjectiveₓ'. -/
 theorem rightHom_surjective : Function.Surjective (rightHom : N ⋊[φ] G → G) :=
   Function.surjective_iff_hasRightInverse.2 ⟨inr, rightHom_inr⟩
@@ -391,7 +391,7 @@ variable (f₁ : N →* H) (f₂ : G →* H)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
+  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift SemidirectProduct.liftₓ'. -/
 /-- Define a group hom `N ⋊[φ] G →* H`, by defining maps `N →* H` and `G →* H`  -/
 def lift (f₁ : N →* H) (f₂ : G →* H)
@@ -409,7 +409,7 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (n : N), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₁ n)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
+  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inl SemidirectProduct.lift_inlₓ'. -/
 @[simp]
 theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
@@ -419,7 +419,7 @@ theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) f₁
 but is expected to have type
-  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
+  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inlₓ'. -/
 @[simp]
 theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
@@ -429,7 +429,7 @@ theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (g : G), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
+  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inr SemidirectProduct.lift_inrₓ'. -/
 @[simp]
 theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
@@ -439,7 +439,7 @@ theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) f₂
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
+  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inrₓ'. -/
 @[simp]
 theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
@@ -449,7 +449,7 @@ theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (F : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (fun (x : N) => Eq.mpr.{0} (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) ((fun (a : H) (a_1 : H) (e_1 : Eq.{succ u3} H a a_1) (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, 1} H Prop (Eq.{succ u3} H a) (Eq.{succ u3} H a_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} H (H -> Prop) a a_1 (Eq.{succ u3} H) e_1) e_2) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (MonoidHom.coe_comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) ((fun (f : N -> H) (f_1 : N -> H) (e_1 : Eq.{max (succ u1) (succ u3)} (N -> H) f f_1) (g : N -> N) (g_1 : N -> N) (e_2 : Eq.{succ u1} (N -> N) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u1, succ u3} N N H f g) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1 g_1) ᾰ ᾰ_1 (congr.{succ u1, max (succ u1) (succ u3)} (N -> N) (N -> H) (Function.comp.{succ u1, succ u1, succ u3} N N H f) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1) g g_1 (congr_arg.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) ((N -> N) -> N -> H) f f_1 (Function.comp.{succ u1, succ u1, succ u3} N N H) e_1) e_2) e_3) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) (MulEquiv.coe_toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H)] (x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) => congr.{max (succ u1) (succ u2), succ u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ (max u1 u2)), max (max (succ u1) (succ u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) x) x x_1 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F F (rfl.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u1, u2} N G _inst_1 _inst_2 φ _x x) ((fun [self : Mul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)] (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_2 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) (ᾰ_2 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_3 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ_2 ᾰ_3) => congr.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ((SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) ᾰ ᾰ_1 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self)) e_2) e_3) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (rfl.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (map_inv.{u2, max u1 u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (map_mul_inv.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u3} H _inst_3) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [self : Mul.{u3} H] (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) (ᾰ_2 : H) (ᾰ_3 : H) (e_3 : Eq.{succ u3} H ᾰ_2 ᾰ_3) => congr.{succ u3, succ u3} H H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u3, succ u3} H (H -> H) ᾰ ᾰ_1 (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self)) e_2) e_3) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (map_mul.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} H (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H)] (x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) x) x x_1 (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) ((fun (hnp : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hnp_1 : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_1 : Eq.{succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hnp hnp_1) (hmn : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hmn_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hmn hmn_1) => congr.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp_1) hmn hmn_1 (congr_arg.{succ u3, max (succ u3) (succ u1)} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) -> (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) hnp hnp_1 (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) e_2) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) ((fun (h : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (h_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_1 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) h h_1) => congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) h h_1 (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))] (x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (x_1 : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (e_2 : Eq.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) ((fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) x) x x_1 (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (MulAut.conj.{u3} H _inst_3) (rfl.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (Eq.trans.{succ u3} ((fun (ᾰ : G) => H) _x) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (congr_fun.{succ u2, succ u3} G (fun (ᾰ : G) => H) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp_apply.{succ u2, max (succ u1) (succ u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (rfl.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) x x (rfl.{succ u1} N x)) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.coe_comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun (f : H -> H) (f_1 : H -> H) (e_1 : Eq.{succ u3} (H -> H) f f_1) (g : N -> H) (g_1 : N -> H) (e_2 : Eq.{max (succ u1) (succ u3)} (N -> H) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u3, succ u3} N H H f g) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1 g_1) ᾰ ᾰ_1 (congr.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) (N -> H) (Function.comp.{succ u1, succ u3, succ u3} N H H f) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1) g g_1 (congr_arg.{succ u3, max (succ u1) (succ u3)} (H -> H) ((N -> H) -> N -> H) f f_1 (Function.comp.{succ u1, succ u3, succ u3} N H H) e_1) e_2) e_3) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MulEquiv.coe_toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H)] (x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (x_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_2 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) ((fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) x) x x_1 (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1) e_2) e_3) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x))) (MulAut.conj_apply.{u3} H _inst_3 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (propext (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (eq_self_iff_true.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) trivial)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
+  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_unique SemidirectProduct.lift_uniqueₓ'. -/
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
@@ -484,7 +484,7 @@ variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map SemidirectProduct.mapₓ'. -/
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
@@ -505,7 +505,7 @@ variable (f₁ : N →* N₁) (f₂ : G →* G₁)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u3} N₁ (SemidirectProduct.left.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ g))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_left SemidirectProduct.map_leftₓ'. -/
 @[simp]
 theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
@@ -516,7 +516,7 @@ theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u4} G₁ (SemidirectProduct.right.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ g))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_right SemidirectProduct.map_rightₓ'. -/
 @[simp]
 theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :=
@@ -527,7 +527,7 @@ theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ u4) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHom.comp.{max u1 u2, max u3 u4, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (SemidirectProduct.rightHom.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u1 u2, u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_mapₓ'. -/
 @[simp]
 theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom :=
@@ -538,7 +538,7 @@ theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (n : N), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u3 u4)) (succ u3), max (succ u3) (succ (max u3 u4))} (MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => N₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ n))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inl SemidirectProduct.map_inlₓ'. -/
 @[simp]
 theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map]
@@ -548,7 +548,7 @@ theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u1)} (MonoidHom.{u1, max u3 u4} N (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u1, max u1 u2, max u3 u4} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, u3, max u3 u4} N N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
+  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inlₓ'. -/
 @[simp]
 theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;> simp
@@ -558,7 +558,7 @@ theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;>
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : G), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ (max u3 u4)) (succ u4), max (succ u4) (succ (max u3 u4))} (MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => G₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inr SemidirectProduct.map_inrₓ'. -/
 @[simp]
 theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map]
@@ -568,7 +568,7 @@ theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u2)} (MonoidHom.{u2, max u3 u4} G (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u2, max u1 u2, max u3 u4} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, u4, max u3 u4} G G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
+  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inrₓ'. -/
 @[simp]
 theorem map_comp_inr : (map f₁ f₂ h).comp inr = inr.comp f₂ := by ext <;> simp [map]
Diff
@@ -104,7 +104,7 @@ theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))) a)) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u1} N (DivInvMonoid.toHasInv.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_left SemidirectProduct.inv_leftₓ'. -/
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
@@ -126,7 +126,7 @@ theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) a b)) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ b)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_left SemidirectProduct.mul_leftₓ'. -/
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
@@ -260,7 +260,7 @@ theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ =
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut SemidirectProduct.inl_autₓ'. -/
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
@@ -270,7 +270,7 @@ theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Inv.inv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toHasInv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g)) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_invₓ'. -/
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
@@ -449,7 +449,7 @@ theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (F : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (fun (x : N) => Eq.mpr.{0} (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) ((fun (a : H) (a_1 : H) (e_1 : Eq.{succ u3} H a a_1) (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, 1} H Prop (Eq.{succ u3} H a) (Eq.{succ u3} H a_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} H (H -> Prop) a a_1 (Eq.{succ u3} H) e_1) e_2) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (MonoidHom.coe_comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) ((fun (f : N -> H) (f_1 : N -> H) (e_1 : Eq.{max (succ u1) (succ u3)} (N -> H) f f_1) (g : N -> N) (g_1 : N -> N) (e_2 : Eq.{succ u1} (N -> N) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u1, succ u3} N N H f g) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1 g_1) ᾰ ᾰ_1 (congr.{succ u1, max (succ u1) (succ u3)} (N -> N) (N -> H) (Function.comp.{succ u1, succ u1, succ u3} N N H f) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1) g g_1 (congr_arg.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) ((N -> N) -> N -> H) f f_1 (Function.comp.{succ u1, succ u1, succ u3} N N H) e_1) e_2) e_3) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) (MulEquiv.coe_toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H)] (x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) => congr.{max (succ u1) (succ u2), succ u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ (max u1 u2)), max (max (succ u1) (succ u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) x) x x_1 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F F (rfl.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u1, u2} N G _inst_1 _inst_2 φ _x x) ((fun [self : Mul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)] (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_2 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) (ᾰ_2 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_3 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ_2 ᾰ_3) => congr.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ((SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) ᾰ ᾰ_1 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self)) e_2) e_3) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (rfl.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (map_inv.{u2, max u1 u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (map_mul_inv.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u3} H _inst_3) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [self : Mul.{u3} H] (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) (ᾰ_2 : H) (ᾰ_3 : H) (e_3 : Eq.{succ u3} H ᾰ_2 ᾰ_3) => congr.{succ u3, succ u3} H H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u3, succ u3} H (H -> H) ᾰ ᾰ_1 (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self)) e_2) e_3) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (map_mul.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} H (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H)] (x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) x) x x_1 (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) ((fun (hnp : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hnp_1 : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_1 : Eq.{succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hnp hnp_1) (hmn : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hmn_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hmn hmn_1) => congr.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp_1) hmn hmn_1 (congr_arg.{succ u3, max (succ u3) (succ u1)} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) -> (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) hnp hnp_1 (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) e_2) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) ((fun (h : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (h_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_1 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) h h_1) => congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) h h_1 (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))] (x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (x_1 : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (e_2 : Eq.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) ((fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) x) x x_1 (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (MulAut.conj.{u3} H _inst_3) (rfl.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (Eq.trans.{succ u3} ((fun (ᾰ : G) => H) _x) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (congr_fun.{succ u2, succ u3} G (fun (ᾰ : G) => H) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp_apply.{succ u2, max (succ u1) (succ u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (rfl.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) x x (rfl.{succ u1} N x)) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.coe_comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun (f : H -> H) (f_1 : H -> H) (e_1 : Eq.{succ u3} (H -> H) f f_1) (g : N -> H) (g_1 : N -> H) (e_2 : Eq.{max (succ u1) (succ u3)} (N -> H) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u3, succ u3} N H H f g) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1 g_1) ᾰ ᾰ_1 (congr.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) (N -> H) (Function.comp.{succ u1, succ u3, succ u3} N H H f) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1) g g_1 (congr_arg.{succ u3, max (succ u1) (succ u3)} (H -> H) ((N -> H) -> N -> H) f f_1 (Function.comp.{succ u1, succ u3, succ u3} N H H) e_1) e_2) e_3) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MulEquiv.coe_toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H)] (x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (x_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_2 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) ((fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) x) x x_1 (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1) e_2) e_3) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x))) (MulAut.conj_apply.{u3} H _inst_3 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (propext (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (eq_self_iff_true.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) trivial)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
+  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} (MulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_unique SemidirectProduct.lift_uniqueₓ'. -/
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
Diff
@@ -104,7 +104,7 @@ theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))) a)) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u1} N (DivInvMonoid.toHasInv.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_left SemidirectProduct.inv_leftₓ'. -/
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
@@ -126,7 +126,7 @@ theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) a b)) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ b)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_left SemidirectProduct.mul_leftₓ'. -/
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
@@ -161,7 +161,7 @@ def inl : N →* N ⋊[φ] G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) n
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
 Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inl SemidirectProduct.left_inlₓ'. -/
 @[simp]
 theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
@@ -172,7 +172,7 @@ theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inl SemidirectProduct.right_inlₓ'. -/
 @[simp]
 theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
@@ -183,7 +183,7 @@ theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u1, max (succ u1) (succ u2)} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_injective SemidirectProduct.inl_injectiveₓ'. -/
 theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨left, left_inl⟩
@@ -193,7 +193,7 @@ theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₁) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u1} N n₁ n₂)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_inj SemidirectProduct.inl_injₓ'. -/
 @[simp]
 theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ = n₂ :=
@@ -217,7 +217,7 @@ def inr : G →* N ⋊[φ] G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u1} N 1 (OfNat.mk.{u1} N 1 (One.one.{u1} N (MulOneClass.toHasOne.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inr SemidirectProduct.left_inrₓ'. -/
 @[simp]
 theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
@@ -228,7 +228,7 @@ theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inr SemidirectProduct.right_inrₓ'. -/
 @[simp]
 theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
@@ -239,7 +239,7 @@ theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_injective SemidirectProduct.inr_injectiveₓ'. -/
 theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨right, right_inr⟩
@@ -249,7 +249,7 @@ theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₁) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u2} G g₁ g₂)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_inj SemidirectProduct.inr_injₓ'. -/
 @[simp]
 theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ = g₂ :=
@@ -260,7 +260,7 @@ theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ =
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut SemidirectProduct.inl_autₓ'. -/
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
@@ -270,7 +270,7 @@ theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Inv.inv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toHasInv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g)) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_invₓ'. -/
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
@@ -280,7 +280,7 @@ theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u1, u2} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inrₓ'. -/
 @[simp]
 theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n * inr g := by ext <;> simp
@@ -290,7 +290,7 @@ theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ (max u1 u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ x))) x
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_rightₓ'. -/
 @[simp]
 theorem inl_left_mul_inr_right (x : N ⋊[φ] G) : inl x.left * inr x.right = x := by ext <;> simp
@@ -313,7 +313,7 @@ def rightHom : N ⋊[φ] G →* G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_rightₓ'. -/
 @[simp]
 theorem rightHom_eq_right : (rightHom : N ⋊[φ] G → G) = right :=
@@ -345,7 +345,7 @@ theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inlₓ'. -/
 @[simp]
 theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [right_hom]
@@ -355,7 +355,7 @@ theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [ri
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inrₓ'. -/
 @[simp]
 theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [right_hom]
@@ -365,7 +365,7 @@ theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [ri
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Surjective.{max (succ u1) (succ u2), succ u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_surjective SemidirectProduct.rightHom_surjectiveₓ'. -/
 theorem rightHom_surjective : Function.Surjective (rightHom : N ⋊[φ] G → G) :=
   Function.surjective_iff_hasRightInverse.2 ⟨inr, rightHom_inr⟩
@@ -391,7 +391,7 @@ variable (f₁ : N →* H) (f₂ : G →* H)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
+  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift SemidirectProduct.liftₓ'. -/
 /-- Define a group hom `N ⋊[φ] G →* H`, by defining maps `N →* H` and `G →* H`  -/
 def lift (f₁ : N →* H) (f₂ : G →* H)
@@ -409,7 +409,7 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (n : N), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₁ n)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
+  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inl SemidirectProduct.lift_inlₓ'. -/
 @[simp]
 theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
@@ -419,7 +419,7 @@ theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) f₁
 but is expected to have type
-  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
+  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inlₓ'. -/
 @[simp]
 theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
@@ -429,7 +429,7 @@ theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (g : G), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
+  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inr SemidirectProduct.lift_inrₓ'. -/
 @[simp]
 theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
@@ -439,7 +439,7 @@ theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) f₂
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
+  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inrₓ'. -/
 @[simp]
 theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
@@ -449,7 +449,7 @@ theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (F : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (fun (x : N) => Eq.mpr.{0} (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) ((fun (a : H) (a_1 : H) (e_1 : Eq.{succ u3} H a a_1) (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, 1} H Prop (Eq.{succ u3} H a) (Eq.{succ u3} H a_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} H (H -> Prop) a a_1 (Eq.{succ u3} H) e_1) e_2) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (MonoidHom.coe_comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) ((fun (f : N -> H) (f_1 : N -> H) (e_1 : Eq.{max (succ u1) (succ u3)} (N -> H) f f_1) (g : N -> N) (g_1 : N -> N) (e_2 : Eq.{succ u1} (N -> N) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u1, succ u3} N N H f g) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1 g_1) ᾰ ᾰ_1 (congr.{succ u1, max (succ u1) (succ u3)} (N -> N) (N -> H) (Function.comp.{succ u1, succ u1, succ u3} N N H f) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1) g g_1 (congr_arg.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) ((N -> N) -> N -> H) f f_1 (Function.comp.{succ u1, succ u1, succ u3} N N H) e_1) e_2) e_3) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) (MulEquiv.coe_toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H)] (x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) => congr.{max (succ u1) (succ u2), succ u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ (max u1 u2)), max (max (succ u1) (succ u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) x) x x_1 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F F (rfl.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u1, u2} N G _inst_1 _inst_2 φ _x x) ((fun [self : Mul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)] (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_2 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) (ᾰ_2 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_3 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ_2 ᾰ_3) => congr.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ((SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) ᾰ ᾰ_1 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self)) e_2) e_3) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (rfl.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (map_inv.{u2, max u1 u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (map_mul_inv.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u3} H _inst_3) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [self : Mul.{u3} H] (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) (ᾰ_2 : H) (ᾰ_3 : H) (e_3 : Eq.{succ u3} H ᾰ_2 ᾰ_3) => congr.{succ u3, succ u3} H H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u3, succ u3} H (H -> H) ᾰ ᾰ_1 (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self)) e_2) e_3) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (map_mul.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} H (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H)] (x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) x) x x_1 (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) ((fun (hnp : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hnp_1 : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_1 : Eq.{succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hnp hnp_1) (hmn : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hmn_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hmn hmn_1) => congr.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp_1) hmn hmn_1 (congr_arg.{succ u3, max (succ u3) (succ u1)} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) -> (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) hnp hnp_1 (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) e_2) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) ((fun (h : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (h_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_1 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) h h_1) => congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) h h_1 (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))] (x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (x_1 : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (e_2 : Eq.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) ((fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) x) x x_1 (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (MulAut.conj.{u3} H _inst_3) (rfl.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (Eq.trans.{succ u3} ((fun (ᾰ : G) => H) _x) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (congr_fun.{succ u2, succ u3} G (fun (ᾰ : G) => H) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp_apply.{succ u2, max (succ u1) (succ u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (rfl.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) x x (rfl.{succ u1} N x)) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.coe_comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun (f : H -> H) (f_1 : H -> H) (e_1 : Eq.{succ u3} (H -> H) f f_1) (g : N -> H) (g_1 : N -> H) (e_2 : Eq.{max (succ u1) (succ u3)} (N -> H) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u3, succ u3} N H H f g) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1 g_1) ᾰ ᾰ_1 (congr.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) (N -> H) (Function.comp.{succ u1, succ u3, succ u3} N H H f) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1) g g_1 (congr_arg.{succ u3, max (succ u1) (succ u3)} (H -> H) ((N -> H) -> N -> H) f f_1 (Function.comp.{succ u1, succ u3, succ u3} N H H) e_1) e_2) e_3) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MulEquiv.coe_toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H)] (x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (x_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_2 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) ((fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) x) x x_1 (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1) e_2) e_3) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x))) (MulAut.conj_apply.{u3} H _inst_3 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (propext (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (eq_self_iff_true.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) trivial)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
+  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_unique SemidirectProduct.lift_uniqueₓ'. -/
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
@@ -484,7 +484,7 @@ variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map SemidirectProduct.mapₓ'. -/
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
@@ -505,7 +505,7 @@ variable (f₁ : N →* N₁) (f₂ : G →* G₁)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u3} N₁ (SemidirectProduct.left.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ g))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_left SemidirectProduct.map_leftₓ'. -/
 @[simp]
 theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
@@ -516,7 +516,7 @@ theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u4} G₁ (SemidirectProduct.right.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ g))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_right SemidirectProduct.map_rightₓ'. -/
 @[simp]
 theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :=
@@ -527,7 +527,7 @@ theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ u4) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHom.comp.{max u1 u2, max u3 u4, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (SemidirectProduct.rightHom.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u1 u2, u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_mapₓ'. -/
 @[simp]
 theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom :=
@@ -538,7 +538,7 @@ theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (n : N), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u3 u4)) (succ u3), max (succ u3) (succ (max u3 u4))} (MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => N₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ n))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inl SemidirectProduct.map_inlₓ'. -/
 @[simp]
 theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map]
@@ -548,7 +548,7 @@ theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u1)} (MonoidHom.{u1, max u3 u4} N (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u1, max u1 u2, max u3 u4} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, u3, max u3 u4} N N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
+  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inlₓ'. -/
 @[simp]
 theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;> simp
@@ -558,7 +558,7 @@ theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;>
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : G), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ (max u3 u4)) (succ u4), max (succ u4) (succ (max u3 u4))} (MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => G₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inr SemidirectProduct.map_inrₓ'. -/
 @[simp]
 theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map]
@@ -568,7 +568,7 @@ theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u2)} (MonoidHom.{u2, max u3 u4} G (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u2, max u1 u2, max u3 u4} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, u4, max u3 u4} G G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
+  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inrₓ'. -/
 @[simp]
 theorem map_comp_inr : (map f₁ f₂ h).comp inr = inr.comp f₂ := by ext <;> simp [map]
Diff
@@ -104,7 +104,7 @@ theorem one_right : (1 : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))) a)) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u1} N (DivInvMonoid.toHasInv.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (Inv.inv.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instInvSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a)) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a))) (Inv.inv.{u2} N (InvOneClass.toInv.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1)))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inv_left SemidirectProduct.inv_leftₓ'. -/
 @[simp]
 theorem inv_left (a : N ⋊[φ] G) : a⁻¹.left = φ a.right⁻¹ a.left⁻¹ :=
@@ -126,7 +126,7 @@ theorem inv_right (a : N ⋊[φ] G) : a⁻¹.right = a.right⁻¹ :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (a : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) a b)) (HMul.hMul.{u1, u1, u1} N N N (instHMul.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ a) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ b)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (b : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) a b)) (HMul.hMul.{u2, u2, u2} N ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)) N (instHMul.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ a) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ a)) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ b)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mul_left SemidirectProduct.mul_leftₓ'. -/
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left :=
@@ -161,7 +161,7 @@ def inl : N →* N ⋊[φ] G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) n
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (n : N), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) n
 Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inl SemidirectProduct.left_inlₓ'. -/
 @[simp]
 theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
@@ -172,7 +172,7 @@ theorem left_inl (n : N) : (inl n : N ⋊[φ] G).left = n :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (One.toOfNat1.{u2} G (InvOneClass.toOne.{u2} G (DivInvOneMonoid.toInvOneClass.{u2} G (DivisionMonoid.toDivInvOneMonoid.{u2} G (Group.toDivisionMonoid.{u2} G _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inl SemidirectProduct.right_inlₓ'. -/
 @[simp]
 theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
@@ -183,7 +183,7 @@ theorem right_inl (n : N) : (inl n : N ⋊[φ] G).right = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u1, max (succ u1) (succ u2)} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u2) (succ u1)} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_injective SemidirectProduct.inl_injectiveₓ'. -/
 theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨left, left_inl⟩
@@ -193,7 +193,7 @@ theorem inl_injective : Function.Injective (inl : N → N ⋊[φ] G) :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₁) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u1} N n₁ n₂)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {n₁ : N} {n₂ : N}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n₂)) (Eq.{succ u2} N n₁ n₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_inj SemidirectProduct.inl_injₓ'. -/
 @[simp]
 theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ = n₂ :=
@@ -217,7 +217,7 @@ def inr : G →* N ⋊[φ] G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u1} N (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u1} N 1 (OfNat.mk.{u1} N 1 (One.one.{u1} N (MulOneClass.toHasOne.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G), Eq.{succ u2} N (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (OfNat.ofNat.{u2} N 1 (One.toOfNat1.{u2} N (InvOneClass.toOne.{u2} N (DivInvOneMonoid.toInvOneClass.{u2} N (DivisionMonoid.toDivInvOneMonoid.{u2} N (Group.toDivisionMonoid.{u2} N _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.left_inr SemidirectProduct.left_inrₓ'. -/
 @[simp]
 theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
@@ -228,7 +228,7 @@ theorem left_inr (g : G) : (inr g : N ⋊[φ] G).left = 1 :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_inr SemidirectProduct.right_inrₓ'. -/
 @[simp]
 theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
@@ -239,7 +239,7 @@ theorem right_inr (g : G) : (inr g : N ⋊[φ] G).right = g :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Injective.{succ u2, max (succ u1) (succ u2)} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_injective SemidirectProduct.inr_injectiveₓ'. -/
 theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
   Function.injective_iff_hasLeftInverse.2 ⟨right, right_inr⟩
@@ -249,7 +249,7 @@ theorem inr_injective : Function.Injective (inr : G → N ⋊[φ] G) :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₁) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u2} G g₁ g₂)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {g₁ : G} {g₂ : G}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g₂)) (Eq.{succ u1} G g₁ g₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inr_inj SemidirectProduct.inr_injₓ'. -/
 @[simp]
 theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ = g₂ :=
@@ -260,7 +260,7 @@ theorem inr_inj {g₁ g₂ : G} : (inr g₁ : N ⋊[φ] G) = inr g₂ ↔ g₁ =
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut SemidirectProduct.inl_autₓ'. -/
 theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n * inr g⁻¹ := by
   ext <;> simp
@@ -270,7 +270,7 @@ theorem inl_aut (g : G) (n : N) : (inl (φ g n) : N ⋊[φ] G) = inr g * inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Inv.inv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toHasInv.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g)) n)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) g)) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (fun (_x : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (_x : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) => SemidirectProduct.{u2, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) n) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (InvOneClass.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) g) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g)) n)) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (instHMul.{max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (Inv.inv.{u1} G (InvOneClass.toInv.{u1} G (DivInvOneMonoid.toInvOneClass.{u1} G (DivisionMonoid.toDivInvOneMonoid.{u1} G (Group.toDivisionMonoid.{u1} G _inst_2)))) g)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_aut_inv SemidirectProduct.inl_aut_invₓ'. -/
 theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr g⁻¹ * inl n * inr g := by
   rw [← MonoidHom.map_inv, inl_aut, inv_inv]
@@ -280,7 +280,7 @@ theorem inl_aut_inv (g : G) (n : N) : (inl ((φ g)⁻¹ n) : N ⋊[φ] G) = inr
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u1, u2} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (g : G) (n : N), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.mk.{u2, u1} N G _inst_1 _inst_2 φ n g) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) g) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) n) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.mk_eq_inl_mul_inr SemidirectProduct.mk_eq_inl_mul_inrₓ'. -/
 @[simp]
 theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n * inr g := by ext <;> simp
@@ -290,7 +290,7 @@ theorem mk_eq_inl_mul_inr (g : G) (n : N) : (⟨n, g⟩ : N ⋊[φ] G) = inl n *
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ (max u1 u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ x))) x
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), Eq.{max (succ u2) (succ u1)} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (SemidirectProduct.instMulSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.left.{u2, u1} N G _inst_1 _inst_2 φ x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ x))) x
 Case conversion may be inaccurate. Consider using '#align semidirect_product.inl_left_mul_inr_right SemidirectProduct.inl_left_mul_inr_rightₓ'. -/
 @[simp]
 theorem inl_left_mul_inr_right (x : N ⋊[φ] G) : inl x.left * inr x.right = x := by ext <;> simp
@@ -313,7 +313,7 @@ def rightHom : N ⋊[φ] G →* G where
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Eq.{max (succ u2) (succ u1)} (forall (a : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ)) (SemidirectProduct.right.{u2, u1} N G _inst_1 _inst_2 φ)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_rightₓ'. -/
 @[simp]
 theorem rightHom_eq_right : (rightHom : N ⋊[φ] G → G) = right :=
@@ -345,7 +345,7 @@ theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} G 1 (OfNat.mk.{u2} G 1 (One.one.{u2} G (MulOneClass.toHasOne.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (n : N), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (Group.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u2 u1} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inl SemidirectProduct.rightHom_inlₓ'. -/
 @[simp]
 theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [right_hom]
@@ -355,7 +355,7 @@ theorem rightHom_inl (n : N) : rightHom (inl n : N ⋊[φ] G) = 1 := by simp [ri
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (g : G), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (MonoidHom.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (MonoidHom.monoidHomClass.{max u2 u1, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, max u2 u1} (MonoidHom.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u1} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) g
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_inr SemidirectProduct.rightHom_inrₓ'. -/
 @[simp]
 theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [right_hom]
@@ -365,7 +365,7 @@ theorem rightHom_inr (g : G) : rightHom (inr g : N ⋊[φ] G) = g := by simp [ri
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))}, Function.Surjective.{max (succ u1) (succ u2), succ u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u2)} (MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (fun (_x : MonoidHom.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> G) (MonoidHom.hasCoeToFun.{max u1 u2, u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))}, Function.Surjective.{max (succ u2) (succ u1), succ u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => G) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) G (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))))) (SemidirectProduct.rightHom.{u2, u1} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_surjective SemidirectProduct.rightHom_surjectiveₓ'. -/
 theorem rightHom_surjective : Function.Surjective (rightHom : N ⋊[φ] G → G) :=
   Function.surjective_iff_hasRightInverse.2 ⟨inr, rightHom_inr⟩
@@ -391,7 +391,7 @@ variable (f₁ : N →* H) (f₂ : G →* H)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
+  forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift SemidirectProduct.liftₓ'. -/
 /-- Define a group hom `N ⋊[φ] G →* H`, by defining maps `N →* H` and `G →* H`  -/
 def lift (f₁ : N →* H) (f₂ : G →* H)
@@ -409,7 +409,7 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (n : N), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₁ n)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
+  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (n : N), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => H) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₁ n)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inl SemidirectProduct.lift_inlₓ'. -/
 @[simp]
 theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
@@ -419,7 +419,7 @@ theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) f₁
 but is expected to have type
-  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
+  forall {N : Type.{u3}} {G : Type.{u1}} {H : Type.{u2}} [_inst_1 : Group.{u3} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))} (f₁ : MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, u3, u2} N N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u3, u3} N N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u3 u1, u1, u3} (MonoidHom.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))) G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u3} G (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))) (MulAut.instGroupMulAut.{u3} N (MulOneClass.toMul.{u3} N (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u3, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u2} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} N H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u3 u1, u2} N (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} N (DivInvMonoid.toMonoid.{u3} N (Group.toDivInvMonoid.{u3} N _inst_1))) (Monoid.toMulOneClass.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u3 u1} (SemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u3, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u3, u1, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inl.{u3, u1} N G _inst_1 _inst_2 φ)) f₁
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inlₓ'. -/
 @[simp]
 theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
@@ -429,7 +429,7 @@ theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)) (g : G), Eq.{succ u3} H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g)
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
+  forall {N : Type.{u2}} {G : Type.{u1}} {H : Type.{u3}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (f₁ : MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u2) (succ u3)} (MonoidHom.{u2, u3} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, u2, u3} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u3, u3} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u3, succ u3, succ u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u3, u3, u3} (MonoidHom.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g))) f₁)) (g : G), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u1), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => H) _x) (MulHomClass.toFunLike.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u1) u3, max u2 u1, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u1, u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (SemidirectProduct.lift.{u2, u1, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{u1, u3} G H (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) f₂ g)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_inr SemidirectProduct.lift_inrₓ'. -/
 @[simp]
 theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
@@ -439,7 +439,7 @@ theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (f₂ : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) f₂
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
+  forall {N : Type.{u1}} {G : Type.{u3}} {H : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u2} H] {φ : MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (f₁ : MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (f₂ : MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (h : forall (g : G), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u1, u1, u2} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u3, u1} (MonoidHom.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u2, u2} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (MulEquiv.toMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (FunLike.coe.{succ u2, succ u2, succ u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) => MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) _x) (MulHomClass.toFunLike.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))) (MulOneClass.toMul.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u2, u2, u2} (MonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3)))))))) (MonoidHom.monoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))) (MulAut.instGroupMulAut.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3))))))))))) (MulAut.conj.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) g) _inst_3) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} H (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))))) f₂ g))) f₁)), Eq.{max (succ u3) (succ u2)} (MonoidHom.{u3, u2} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3)))) (MonoidHom.comp.{u3, max u1 u3, u2} G (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u3} (SemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} H (DivInvMonoid.toMonoid.{u2} H (Group.toDivInvMonoid.{u2} H _inst_3))) (SemidirectProduct.lift.{u1, u3, u2} N G H _inst_1 _inst_2 _inst_3 φ f₁ f₂ h) (SemidirectProduct.inr.{u1, u3} N G _inst_1 _inst_2 φ)) f₂
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inrₓ'. -/
 @[simp]
 theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
@@ -449,7 +449,7 @@ theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext <;> simp
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} {H : Type.{u3}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] [_inst_3 : Group.{u3} H] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} (F : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))), Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (SemidirectProduct.lift.{u1, u2, u3} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (fun (x : N) => Eq.mpr.{0} (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True (id_tag Tactic.IdTag.simp (Eq.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) True) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{1} Prop (Eq.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) ((fun (a : H) (a_1 : H) (e_1 : Eq.{succ u3} H a a_1) (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, 1} H Prop (Eq.{succ u3} H a) (Eq.{succ u3} H a_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} H (H -> Prop) a a_1 (Eq.{succ u3} H) e_1) e_2) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (Eq.trans.{succ u3} ((fun (ᾰ : N) => H) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) (Function.comp.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (Function.comp.{succ u1, succ u1, succ u3} N N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)))) (MonoidHom.coe_comp.{u1, u1, u3} N N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) x) ((fun (f : N -> H) (f_1 : N -> H) (e_1 : Eq.{max (succ u1) (succ u3)} (N -> H) f f_1) (g : N -> N) (g_1 : N -> N) (e_2 : Eq.{succ u1} (N -> N) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u1, succ u3} N N H f g) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1 g_1) ᾰ ᾰ_1 (congr.{succ u1, max (succ u1) (succ u3)} (N -> N) (N -> H) (Function.comp.{succ u1, succ u1, succ u3} N N H f) (Function.comp.{succ u1, succ u1, succ u3} N N H f_1) g g_1 (congr_arg.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) ((N -> N) -> N -> H) f f_1 (Function.comp.{succ u1, succ u1, succ u3} N N H) e_1) e_2) e_3) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (fun (_x : MonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) => N -> N) (MonoidHom.hasCoeToFun.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) (MulEquiv.coe_toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u1, succ u3} N N H (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x)) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x))) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H)] (x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) => congr.{max (succ u1) (succ u2), succ u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ (max u1 u2)), max (max (succ u1) (succ u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) x) x x_1 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F F (rfl.{max (succ u3) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Eq.trans.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) (coeFn.{succ u1, succ u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (fun (_x : MulEquiv.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) => N -> N) (MulEquiv.hasCoeToFun.{u1, u1} N N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))) (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ _x) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u1, u2} N G _inst_1 _inst_2 φ _x x) ((fun [self : Mul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)] (ᾰ : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_1 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_2 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ ᾰ_1) (ᾰ_2 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (ᾰ_3 : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (e_3 : Eq.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ᾰ_2 ᾰ_3) => congr.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) ((SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) ᾰ ᾰ_1 (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) self)) e_2) e_3) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (rfl.{max (succ u1) (succ u2)} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) (Inv.inv.{u2} G (DivInvMonoid.toHasInv.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)) _x)) (Inv.inv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toHasInv.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (map_inv.{u2, max u1 u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (map_mul_inv.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u3} H _inst_3) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [self : Mul.{u3} H] (ᾰ : H) (ᾰ_1 : H) (e_2 : Eq.{succ u3} H ᾰ ᾰ_1) (ᾰ_2 : H) (ᾰ_3 : H) (e_3 : Eq.{succ u3} H ᾰ_2 ᾰ_3) => congr.{succ u3, succ u3} H H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self) ᾰ_1) ᾰ_2 ᾰ_3 (congr_arg.{succ u3, succ u3} H (H -> H) ᾰ ᾰ_1 (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H self)) e_2) e_3) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (instHMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))))) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (map_mul.{max u1 u2, u3, max u3 u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (FunLike.hasCoeToFun.{succ (max u3 u1 u2), succ (max u1 u2), succ u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (MulOneClass.toHasMul.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max u3 u1 u2, max u1 u2, u3} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))) (MonoidHom.monoidHomClass.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} H (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x)) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Eq.trans.{succ u3} H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x) ((fun [_inst_1_1 : CoeFun.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H)] (x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (x_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) x x_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1 x_1) ᾰ ᾰ_1 (congr_arg.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) x) x x_1 (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) _inst_1_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) ((fun (hnp : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hnp_1 : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_1 : Eq.{succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hnp hnp_1) (hmn : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (hmn_1 : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (e_2 : Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) hmn hmn_1) => congr.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) hnp_1) hmn hmn_1 (congr_arg.{succ u3, max (succ u3) (succ u1)} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) ((MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) -> (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) hnp hnp_1 (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) e_2) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) ((fun (h : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (h_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_1 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) h h_1) => congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) h h_1 (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) e_1) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))] (x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (x_1 : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (e_2 : Eq.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) ((fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) x) x x_1 (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) _inst_1) e_2) e_3) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (MulAut.conj.{u3} H _inst_3) (rfl.{succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3)) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (Eq.trans.{succ u3} ((fun (ᾰ : G) => H) _x) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (congr_fun.{succ u2, succ u3} G (fun (ᾰ : G) => H) (coeFn.{max (succ u3) (succ u2), max (succ u2) (succ u3)} (MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => G -> H) (MonoidHom.hasCoeToFun.{u2, u3} G H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u2, succ (max u1 u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u2, max u1 u2, u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x) (Function.comp_apply.{succ u2, max (succ u1) (succ u2), succ u3} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (rfl.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) x x (rfl.{succ u1} N x)) (congr_fun.{succ u1, succ u3} N (fun (ᾰ : N) => H) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (Function.comp.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)))) (MonoidHom.coe_comp.{u1, u3, u3} N H H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun (f : H -> H) (f_1 : H -> H) (e_1 : Eq.{succ u3} (H -> H) f f_1) (g : N -> H) (g_1 : N -> H) (e_2 : Eq.{max (succ u1) (succ u3)} (N -> H) g g_1) (ᾰ : N) (ᾰ_1 : N) (e_3 : Eq.{succ u1} N ᾰ ᾰ_1) => congr.{succ u1, succ u3} N H (Function.comp.{succ u1, succ u3, succ u3} N H H f g) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1 g_1) ᾰ ᾰ_1 (congr.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (N -> H) (N -> H) (Function.comp.{succ u1, succ u3, succ u3} N H H f) (Function.comp.{succ u1, succ u3, succ u3} N H H f_1) g g_1 (congr_arg.{succ u3, max (succ u1) (succ u3)} (H -> H) ((N -> H) -> N -> H) f f_1 (Function.comp.{succ u1, succ u3, succ u3} N H H) e_1) e_2) e_3) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => H -> H) (MonoidHom.hasCoeToFun.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulEquiv.toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (MulEquiv.coe_toMonoidHom.{u3, u3} H H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => N -> H) (MonoidHom.hasCoeToFun.{u1, u3} N H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MonoidHom.comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) (MonoidHom.coe_comp.{u1, max u1 u2, u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) F (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x x (rfl.{succ u1} N x))) (Function.comp_apply.{succ u1, succ u3, succ u3} N H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ))) x)) ((fun [_inst_1 : CoeFun.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H)] (x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (x_1 : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (e_2 : Eq.{succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) x x_1) (ᾰ : H) (ᾰ_1 : H) (e_3 : Eq.{succ u3} H ᾰ ᾰ_1) => congr.{succ u3, succ u3} H H (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x) (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1 x_1) ᾰ ᾰ_1 (congr_arg.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) ((fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) x) x x_1 (coeFn.{succ u3, succ u3} (MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (fun (_x : MulEquiv.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) => H -> H) _inst_1) e_2) e_3) (MulEquiv.hasCoeToFun.{u3, u3} H H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (rfl.{succ u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ u3, succ u3} (MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (fun (_x : MonoidHom.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) => H -> (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))))) (MonoidHom.hasCoeToFun.{u3, u3} H (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (MulAut.group.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))))))) (MulAut.conj.{u3} H _inst_3) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (Function.comp.{succ u1, succ (max u1 u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (Function.comp_apply.{succ u1, max (succ u1) (succ u2), succ u3} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) x))) (MulAut.conj_apply.{u3} H _inst_3 (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3)))))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (Inv.inv.{u3} H (DivInvMonoid.toHasInv.{u3} H (DivisionMonoid.toDivInvMonoid.{u3} H (Group.toDivisionMonoid.{u3} H _inst_3))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{succ (max u1 u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))))) (propext (Eq.{succ u3} H (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u3, u3, u3} H H H (instHMul.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3))))) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)))) (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) (mul_left_inj.{u3} H (MulOneClass.toHasMul.{u3} H (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (RightCancelSemigroup.toIsRightCancelMul.{u3} H (RightCancelMonoid.toRightCancelSemigroup.{u3} H (CancelMonoid.toRightCancelMonoid.{u3} H (Group.toCancelMonoid.{u3} H _inst_3)))) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{max (succ u3) (succ (max u1 u2)), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))))) (propext (Eq.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)) (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x))) True (eq_self_iff_true.{succ u3} H (coeFn.{succ (max u3 u1 u2), max (succ (max u1 u2)) (succ u3)} (MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) (fun (_x : MonoidHom.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> H) (MonoidHom.hasCoeToFun.{max u1 u2, u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} H (DivInvMonoid.toMonoid.{u3} H (Group.toDivInvMonoid.{u3} H _inst_3)))) F (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) _x)))))) trivial)))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
+  forall {N : Type.{u2}} {G : Type.{u3}} {H : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u3} G] [_inst_3 : Group.{u1} H] {φ : MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} (F : MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (MonoidHom.{max u3 u2, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (SemidirectProduct.lift.{u2, u3, u1} N G H _inst_1 _inst_2 _inst_3 φ (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) (fun (_x : G) => MonoidHom.ext.{u1, u2} N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, u2, u1} N N H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ)) (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x))) (MonoidHom.comp.{u2, u1, u1} N ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (MulEquiv.toMonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (FunLike.coe.{succ u1, succ u1, succ u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (fun (_x_1 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) => MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) _x_1) (MulHomClass.toFunLike.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3)))) (MulOneClass.toMul.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MonoidHom.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3)))))))) (MonoidHom.monoidHomClass.{u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))) (MulAut.instGroupMulAut.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (DivInvMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (Group.toDivInvMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3))))))))))) (MulAut.conj.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) _inst_3) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => H) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{u3, u1} G H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (MonoidHom.comp.{u3, max u2 u3, u1} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ)) _x))) (MonoidHom.comp.{u2, max u2 u3, u1} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) F (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ))) (fun (x : N) => of_eq_true (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.trans.{1} Prop (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) True (congrFun.{succ u1, 1} H (fun (a._@.Init.Prelude._hyg.170 : H) => Prop) (Eq.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)))) (Eq.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (congrArg.{succ u1, succ u1} H (H -> Prop) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.{succ u1} H) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (Eq.trans.{succ u1} H (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congrArg.{max (succ u2) (succ u3), succ u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F) (Eq.trans.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (fun (a : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (DivInvMonoid.toMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) (Group.toDivInvMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) => SemidirectProduct.{u2, u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) x) G _inst_1 _inst_2 φ) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N (fun (a : N) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : N) => N) a) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulEquivClass.toEquivLike.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulEquiv.instMulEquivClassMulEquiv.{u2, u2} N N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) a) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ _x) x)) (instHMul.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (instHMul.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x))) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (SemidirectProduct.inl_aut.{u3, u2} N G _inst_1 _inst_2 φ _x x) (congrArg.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) (Inv.inv.{u3} G (InvOneClass.toInv.{u3} G (DivInvOneMonoid.toInvOneClass.{u3} G (DivisionMonoid.toDivInvOneMonoid.{u3} G (Group.toDivisionMonoid.{u3} G _inst_2)))) _x)) (Inv.inv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (InvOneClass.toInv.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivInvOneMonoid.toInvOneClass.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) _x) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (HMul.hMul.{max u2 u3, max u3 u2, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max u2 u3, max u2 u3, u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) _inst_2 (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (HMul.hMul.{max u3 u2, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))) (congr.{succ u1, succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (Inv.inv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (InvOneClass.toInv.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvOneMonoid.toInvOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvOneMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (Inv.inv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (InvOneClass.toInv.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivInvOneMonoid.toInvOneClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (DivisionMonoid.toDivInvOneMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))) (congrArg.{succ u1, succ u1} H (H -> H) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (instHMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) (map_mul.{u1, max u2 u3, max (max u2 u3) u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (map_inv.{max (max u2 u3) u1, u1, max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{u1} H _inst_3) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u2) (succ (max u2 u3)), succ u2, succ (max u2 u3)} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, max u2 u3} (MonoidHom.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u2 u3} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{max (succ (max u2 u3)) (succ u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ (max u2 u3)), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x))))) (eq_self.{succ u1} H (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (HMul.hMul.{u1, u1, u1} H H H (instHMul.{u1} H (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u3, max (succ u3) (succ u2)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, max u3 u2} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (SemidirectProduct.instMulSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u3 u2} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (MonoidHom.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u3 u2} N (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u3} N G _inst_1 _inst_2 φ) x))) (Inv.inv.{u1} H (InvOneClass.toInv.{u1} H (DivInvOneMonoid.toInvOneClass.{u1} H (DivisionMonoid.toDivInvOneMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (FunLike.coe.{succ (max (max u2 u3) u1), succ (max u2 u3), succ u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (fun (a : SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) => H) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{u1} H (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3))))) (MonoidHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u3, u1} (MonoidHom.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))) (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (DivisionMonoid.toDivInvMonoid.{u1} H (Group.toDivisionMonoid.{u1} H _inst_3)))) (MonoidHom.monoidHomClass.{max u2 u3, u1} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) H (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u1} H (DivInvMonoid.toMonoid.{u1} H (Group.toDivInvMonoid.{u1} H _inst_3)))))) F (FunLike.coe.{succ (max u2 u3), succ u3, succ (max u2 u3)} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulHomClass.toFunLike.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, max u2 u3} (MonoidHom.{u3, max u3 u2} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivisionMonoid.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivisionMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))) (MonoidHom.monoidHomClass.{u3, max u2 u3} G (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u3} (SemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u3} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u3} N G _inst_1 _inst_2 φ) _x)))))))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.lift_unique SemidirectProduct.lift_uniqueₓ'. -/
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ => by ext <;> simp [inl_aut] :=
@@ -484,7 +484,7 @@ variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) -> (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
+  forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))), (forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u2, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, u3} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u2} G (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2)))) (MulOneClass.toMul.{u4} G₁ (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))))) f₂ g))) f₁)) -> (MonoidHom.{max u2 u1, max u4 u3} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map SemidirectProduct.mapₓ'. -/
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
@@ -505,7 +505,7 @@ variable (f₁ : N →* N₁) (f₂ : G →* G₁)
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u3} N₁ (SemidirectProduct.left.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ (SemidirectProduct.left.{u1, u2} N G _inst_1 _inst_2 φ g))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u2}} {G₁ : Type.{u1}} [_inst_4 : Group.{u2} N₁] [_inst_5 : Group.{u1} G₁] {φ₁ : MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u2)} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u2} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u2, u2} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u2, u2} N₁ N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))) G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u1, u2} G₁ (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u2} N₁ (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u1} G₁ (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u1, u3, u1} (MonoidHom.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u1} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u1} G₁ (DivInvMonoid.toMonoid.{u1} G₁ (Group.toDivInvMonoid.{u1} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} N₁ (SemidirectProduct.left.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u4) (succ u3), max (succ u2) (succ u1)} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u2) u1, max u4 u3, max u2 u1} (MonoidHom.{max u3 u4, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u2, u1} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))) (MulOneClass.toMul.{u2} N₁ (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u4, u2} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u2} N₁ (DivInvMonoid.toMonoid.{u2} N₁ (Group.toDivInvMonoid.{u2} N₁ _inst_4)))))) f₁ (SemidirectProduct.left.{u4, u3} N G _inst_1 _inst_2 φ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_left SemidirectProduct.map_leftₓ'. -/
 @[simp]
 theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
@@ -516,7 +516,7 @@ theorem map_left (g : N ⋊[φ] G) : (map f₁ f₂ h g).left = f₁ g.left :=
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ), Eq.{succ u4} G₁ (SemidirectProduct.right.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁ (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ (SemidirectProduct.right.{u1, u2} N G _inst_1 _inst_2 φ g))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)) (g : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ), Eq.{succ u2} G₁ (SemidirectProduct.right.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁ (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u1)) (succ u2), max (succ u4) (succ u3), max (succ u1) (succ u2)} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u4 u3) u1) u2, max u4 u3, max u1 u2} (MonoidHom.{max u3 u4, max u2 u1} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u4 u3, max u1 u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ (SemidirectProduct.right.{u4, u3} N G _inst_1 _inst_2 φ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_right SemidirectProduct.map_rightₓ'. -/
 @[simp]
 theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :=
@@ -527,7 +527,7 @@ theorem map_right (g : N ⋊[φ] G) : (map f₁ f₂ h g).right = f₂ g.right :
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ u4) (succ (max u1 u2))} (MonoidHom.{max u1 u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (MonoidHom.comp.{max u1 u2, max u3 u4, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (SemidirectProduct.rightHom.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u1 u2, u2, u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u1, u2} N G _inst_1 _inst_2 φ))
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
+  forall {N : Type.{u4}} {G : Type.{u3}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u3} G] {φ : MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u1}} {G₁ : Type.{u2}} [_inst_4 : Group.{u1} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (f₂ : MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u1)} (MonoidHom.{u4, u1} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u1} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u3, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u1, u1} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u1, u1} N₁ N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))) G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u1} G₁ (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u1} N₁ (MulOneClass.toMul.{u1} N₁ (Monoid.toMulOneClass.{u1} N₁ (DivInvMonoid.toMonoid.{u1} N₁ (Group.toDivInvMonoid.{u1} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u3} G (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u3, u2} G G₁ (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{max u3 u4, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHom.comp.{max u3 u4, max u2 u1, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (SemidirectProduct.rightHom.{u1, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.map.{u4, u3, u1, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h)) (MonoidHom.comp.{max u3 u4, u3, u2} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) G G₁ (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{u3} G (DivInvMonoid.toMonoid.{u3} G (Group.toDivInvMonoid.{u3} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) f₂ (SemidirectProduct.rightHom.{u4, u3} N G _inst_1 _inst_2 φ))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.right_hom_comp_map SemidirectProduct.rightHom_comp_mapₓ'. -/
 @[simp]
 theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom :=
@@ -538,7 +538,7 @@ theorem rightHom_comp_map : rightHom.comp (map f₁ f₂ h) = f₂.comp rightHom
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (n : N), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u1), max (succ u1) (succ (max u1 u2))} (MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => N -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u1, max u1 u2} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ) n)) (coeFn.{max (succ (max u3 u4)) (succ u3), max (succ u3) (succ (max u3 u4))} (MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => N₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u3, max u3 u4} N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (fun (_x : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) => N -> N₁) (MonoidHom.hasCoeToFun.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) f₁ n))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (n : N), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (a : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (MonoidHom.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u2, max u1 u2} N (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inl.{u2, u1} N G _inst_1 _inst_2 φ) n)) (FunLike.coe.{max (succ u3) (succ u4), succ u4, max (succ u3) (succ u4)} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) => SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u4, max u3 u4} (MonoidHom.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u4, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (DivInvMonoid.toMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) (Group.toDivInvMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) _inst_4))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inl.{u4, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) n) G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : N) => N₁) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))) (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHomClass.toMulHomClass.{max u2 u4, u2, u4} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MonoidHom.monoidHomClass.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))) f₁ n))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inl SemidirectProduct.map_inlₓ'. -/
 @[simp]
 theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map]
@@ -548,7 +548,7 @@ theorem map_inl (n : N) : map f₁ f₂ h (inl n) = inl (f₁ n) := by simp [map
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u1)} (MonoidHom.{u1, max u3 u4} N (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u1, max u1 u2, max u3 u4} N (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u1, u3, max u3 u4} N N₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
 but is expected to have type
-  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
+  forall {N : Type.{u4}} {G : Type.{u1}} [_inst_1 : Group.{u4} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u4) (succ u3)} (MonoidHom.{u4, u3} N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u4, u4, u3} N N N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u4, u4} N N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (FunLike.coe.{max (succ u4) (succ u1), succ u1, succ u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u4 u1, u1, u4} (MonoidHom.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))) G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u4} G (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))) (MulAut.instGroupMulAut.{u4} N (MulOneClass.toMul.{u4} N (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u4, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u2} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} N (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u4 u1, max u3 u2} N (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u4 u1} (SemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u4, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u4, u1, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inl.{u4, u1} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u3, max u2 u3} N N₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} N (DivInvMonoid.toMonoid.{u4} N (Group.toDivInvMonoid.{u4} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inl.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₁)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inl SemidirectProduct.map_comp_inlₓ'. -/
 @[simp]
 theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;> simp
@@ -558,7 +558,7 @@ theorem map_comp_inl : (map f₁ f₂ h).comp inl = inl.comp f₁ := by ext <;>
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)) (g : G), Eq.{max (succ u3) (succ u4)} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ (max u3 u4)) (succ (max u1 u2)), max (succ (max u1 u2)) (succ (max u3 u4))} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{max u1 u2, max u3 u4} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ u2) (succ (max u1 u2))} (MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (fun (_x : MonoidHom.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) => G -> (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.hasCoeToFun.{u2, max u1 u2} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ))))) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ) g)) (coeFn.{max (succ (max u3 u4)) (succ u4), max (succ u4) (succ (max u3 u4))} (MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (fun (_x : MonoidHom.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) => G₁ -> (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)) (MonoidHom.hasCoeToFun.{u4, max u3 u4} G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))
 but is expected to have type
-  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
+  forall {N : Type.{u2}} {G : Type.{u1}} [_inst_1 : Group.{u2} N] [_inst_2 : Group.{u1} G] {φ : MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))} {N₁ : Type.{u4}} {G₁ : Type.{u3}} [_inst_4 : Group.{u4} N₁] [_inst_5 : Group.{u3} G₁] {φ₁ : MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (f₂ : MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u2) (succ u4)} (MonoidHom.{u2, u4} N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))) (MonoidHom.comp.{u2, u2, u4} N N N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u2, u2} N N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))) G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u1, u2} G (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (DivInvMonoid.toMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (Group.toDivInvMonoid.{u2} (MulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))) (MulAut.instGroupMulAut.{u2} N (MulOneClass.toMul.{u2} N (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u2, u4, u4} N N₁ N₁ (Monoid.toMulOneClass.{u2} N (DivInvMonoid.toMonoid.{u2} N (Group.toDivInvMonoid.{u2} N _inst_1))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u4, u4} N₁ N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MulOneClass.toMul.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))) G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u3, u4} G₁ (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (Monoid.toMulOneClass.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (Group.toDivInvMonoid.{u4} (MulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u4} N₁ (MulOneClass.toMul.{u4} N₁ (Monoid.toMulOneClass.{u4} N₁ (DivInvMonoid.toMonoid.{u4} N₁ (Group.toDivInvMonoid.{u4} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))) f₁)) (g : G), Eq.{max (succ u4) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (a : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) a) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3), max (succ u2) (succ u1), max (succ u4) (succ u3)} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (fun (_x : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) => SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MulOneClass.toMul.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max (max (max u2 u1) u4) u3, max u2 u1, max u4 u3} (MonoidHom.{max u1 u2, max u3 u4} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))) (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{max u2 u1, max u4 u3} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ G₁ _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.map.{u2, u1, u4, u3} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (FunLike.coe.{max (succ u1) (succ u2), succ u1, max (succ u1) (succ u2)} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{max u1 u2} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, max u1 u2} (MonoidHom.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))) G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ)))) (MonoidHom.monoidHomClass.{u1, max u1 u2} G (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u2 u1} (SemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u2, u1} N G _inst_1 _inst_2 φ))))))) (SemidirectProduct.inr.{u2, u1} N G _inst_1 _inst_2 φ) g)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, max (succ u3) (succ u4)} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) => SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) _x) (MulHomClass.toFunLike.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (MulOneClass.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5)))) (MulOneClass.toMul.{max u3 u4} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) (MonoidHomClass.toMulHomClass.{max u3 u4, u3, max u3 u4} (MonoidHom.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁)))) (MonoidHom.monoidHomClass.{u3, max u3 u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (DivInvMonoid.toMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) (Group.toDivInvMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_5))) (Monoid.toMulOneClass.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u4 u3} (SemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁))))))) (SemidirectProduct.inr.{u4, u3} N₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) g) _inst_4 _inst_5 φ₁) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u1} G (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2)))) (MulOneClass.toMul.{u3} G₁ (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u1, u3} G G₁ (Monoid.toMulOneClass.{u1} G (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_2))) (Monoid.toMulOneClass.{u3} G₁ (DivInvMonoid.toMonoid.{u3} G₁ (Group.toDivInvMonoid.{u3} G₁ _inst_5)))))) f₂ g))
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_inr SemidirectProduct.map_inrₓ'. -/
 @[simp]
 theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map]
@@ -568,7 +568,7 @@ theorem map_inr (g : G) : map f₁ f₂ h (inr g) = inr (f₂ g) := by simp [map
 lean 3 declaration is
   forall {N : Type.{u1}} {G : Type.{u2}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u2} G] {φ : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u4}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u4} G₁] {φ₁ : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (fun (_x : MonoidHom.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) => G -> (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))) (MonoidHom.hasCoeToFun.{u2, u1} G (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.group.{u1} N (MulOneClass.toHasMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (fun (_x : MonoidHom.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) => G₁ -> (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))) (MonoidHom.hasCoeToFun.{u4, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.group.{u3} N₁ (MulOneClass.toHasMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) φ₁ (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) (fun (_x : MonoidHom.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) => G -> G₁) (MonoidHom.hasCoeToFun.{u2, u4} G G₁ (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5)))) f₂ g))) f₁)), Eq.{max (succ (max u3 u4)) (succ u2)} (MonoidHom.{u2, max u3 u4} G (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u2, max u1 u2, max u3 u4} G (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u2} (SemidirectProduct.{u1, u2} N G _inst_1 _inst_2 φ) (SemidirectProduct.group.{u1, u2} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u2, u3, u4} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u2} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u2, u4, max u3 u4} G G₁ (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u2} G (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_2))) (Monoid.toMulOneClass.{u4} G₁ (DivInvMonoid.toMonoid.{u4} G₁ (Group.toDivInvMonoid.{u4} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u4} (SemidirectProduct.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.group.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u4} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
 but is expected to have type
-  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
+  forall {N : Type.{u1}} {G : Type.{u4}} [_inst_1 : Group.{u1} N] [_inst_2 : Group.{u4} G] {φ : MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))} {N₁ : Type.{u3}} {G₁ : Type.{u2}} [_inst_4 : Group.{u3} N₁] [_inst_5 : Group.{u2} G₁] {φ₁ : MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))} (f₁ : MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (f₂ : MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (h : forall (g : G), Eq.{max (succ u1) (succ u3)} (MonoidHom.{u1, u3} N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))) (MonoidHom.comp.{u1, u1, u3} N N N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) f₁ (MulEquiv.toMonoidHom.{u1, u1} N N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, succ u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) (MonoidHomClass.toMulHomClass.{max u1 u4, u4, u1} (MonoidHom.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))) G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1)))))))) (MonoidHom.monoidHomClass.{u4, u1} G (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (DivInvMonoid.toMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (Group.toDivInvMonoid.{u1} (MulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))) (MulAut.instGroupMulAut.{u1} N (MulOneClass.toMul.{u1} N (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))))))))))) φ g))) (MonoidHom.comp.{u1, u3, u3} N N₁ N₁ (Monoid.toMulOneClass.{u1} N (DivInvMonoid.toMonoid.{u1} N (Group.toDivInvMonoid.{u1} N _inst_1))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (MulEquiv.toMonoidHom.{u3, u3} N₁ N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (fun (_x : G₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G₁) => MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MulOneClass.toMul.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u2, u3} (MonoidHom.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))) G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4)))))))) (MonoidHom.monoidHomClass.{u2, u3} G₁ (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (DivInvMonoid.toMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (Group.toDivInvMonoid.{u3} (MulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))) (MulAut.instGroupMulAut.{u3} N₁ (MulOneClass.toMul.{u3} N₁ (Monoid.toMulOneClass.{u3} N₁ (DivInvMonoid.toMonoid.{u3} N₁ (Group.toDivInvMonoid.{u3} N₁ _inst_4))))))))))) φ₁ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G (fun (_x : G) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : G) => G₁) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (MulOneClass.toMul.{u4} G (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2)))) (MulOneClass.toMul.{u2} G₁ (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) (MonoidHomClass.toMulHomClass.{max u4 u2, u4, u2} (MonoidHom.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))) G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (MonoidHom.monoidHomClass.{u4, u2} G G₁ (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5)))))) f₂ g))) f₁)), Eq.{max (max (succ u4) (succ u3)) (succ u2)} (MonoidHom.{u4, max u3 u2} G (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁))))) (MonoidHom.comp.{u4, max u1 u4, max u3 u2} G (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (DivInvMonoid.toMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (Group.toDivInvMonoid.{max u1 u4} (SemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ) (SemidirectProduct.instGroupSemidirectProduct.{u1, u4} N G _inst_1 _inst_2 φ)))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.map.{u1, u4, u3, u2} N G _inst_1 _inst_2 φ N₁ G₁ _inst_4 _inst_5 φ₁ f₁ f₂ h) (SemidirectProduct.inr.{u1, u4} N G _inst_1 _inst_2 φ)) (MonoidHom.comp.{u4, u2, max u3 u2} G G₁ (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Monoid.toMulOneClass.{u4} G (DivInvMonoid.toMonoid.{u4} G (Group.toDivInvMonoid.{u4} G _inst_2))) (Monoid.toMulOneClass.{u2} G₁ (DivInvMonoid.toMonoid.{u2} G₁ (Group.toDivInvMonoid.{u2} G₁ _inst_5))) (Monoid.toMulOneClass.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (DivInvMonoid.toMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (Group.toDivInvMonoid.{max u3 u2} (SemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) (SemidirectProduct.instGroupSemidirectProduct.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁)))) (SemidirectProduct.inr.{u3, u2} N₁ G₁ _inst_4 _inst_5 φ₁) f₂)
 Case conversion may be inaccurate. Consider using '#align semidirect_product.map_comp_inr SemidirectProduct.map_comp_inrₓ'. -/
 @[simp]
 theorem map_comp_inr : (map f₁ f₂ h).comp inr = inr.comp f₂ := by ext <;> simp [map]

Changes in mathlib4

mathlib3
mathlib4
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -219,7 +219,7 @@ def lift (f₁ : N →* H) (f₂ : G →* H)
   toFun a := f₁ a.1 * f₂ a.2
   map_one' := by simp
   map_mul' a b := by
-    have := fun n g ↦ FunLike.ext_iff.1 (h n) g
+    have := fun n g ↦ DFunLike.ext_iff.1 (h n) g
     simp only [MulAut.conj_apply, MonoidHom.comp_apply, MulEquiv.coe_toMonoidHom] at this
     simp only [mul_left, mul_right, map_mul, this, mul_assoc, inv_mul_cancel_left]
 #align semidirect_product.lift SemidirectProduct.lift
@@ -242,7 +242,7 @@ theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext; simp
 
 theorem lift_unique (F : N ⋊[φ] G →* H) :
     F = lift (F.comp inl) (F.comp inr) fun _ ↦ by ext; simp [inl_aut] := by
-  rw [FunLike.ext_iff]
+  rw [DFunLike.ext_iff]
   simp only [lift, MonoidHom.comp_apply, MonoidHom.coe_mk, OneHom.coe_mk, ← map_mul,
     inl_left_mul_inr_right, forall_const]
 #align semidirect_product.lift_unique SemidirectProduct.lift_unique
@@ -269,7 +269,7 @@ def map (f₁ : N →* N₁) (f₂ : G →* G₁)
   toFun x := ⟨f₁ x.1, f₂ x.2⟩
   map_one' := by simp
   map_mul' x y := by
-    replace h := FunLike.ext_iff.1 (h x.right) y.left
+    replace h := DFunLike.ext_iff.1 (h x.right) y.left
     ext <;> simp_all
 #align semidirect_product.map SemidirectProduct.map
 
refactor(Algebra/Hom): transpose Hom and file name (#8095)

I believe the file defining a type of morphisms belongs alongside the file defining the structure this morphism works on. So I would like to reorganize the files in the Mathlib.Algebra.Hom folder so that e.g. Mathlib.Algebra.Hom.Ring becomes Mathlib.Algebra.Ring.Hom and Mathlib.Algebra.Hom.NonUnitalAlg becomes Mathlib.Algebra.Algebra.NonUnitalHom.

While fixing the imports I went ahead and sorted them for good luck.

The full list of changes is: renamed: Mathlib/Algebra/Hom/NonUnitalAlg.lean -> Mathlib/Algebra/Algebra/NonUnitalHom.lean renamed: Mathlib/Algebra/Hom/Aut.lean -> Mathlib/Algebra/Group/Aut.lean renamed: Mathlib/Algebra/Hom/Commute.lean -> Mathlib/Algebra/Group/Commute/Hom.lean renamed: Mathlib/Algebra/Hom/Embedding.lean -> Mathlib/Algebra/Group/Embedding.lean renamed: Mathlib/Algebra/Hom/Equiv/Basic.lean -> Mathlib/Algebra/Group/Equiv/Basic.lean renamed: Mathlib/Algebra/Hom/Equiv/TypeTags.lean -> Mathlib/Algebra/Group/Equiv/TypeTags.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/Basic.lean -> Mathlib/Algebra/Group/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/GroupWithZero.lean -> Mathlib/Algebra/GroupWithZero/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Freiman.lean -> Mathlib/Algebra/Group/Freiman.lean renamed: Mathlib/Algebra/Hom/Group/Basic.lean -> Mathlib/Algebra/Group/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Group/Defs.lean -> Mathlib/Algebra/Group/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/GroupAction.lean -> Mathlib/GroupTheory/GroupAction/Hom.lean renamed: Mathlib/Algebra/Hom/GroupInstances.lean -> Mathlib/Algebra/Group/Hom/Instances.lean renamed: Mathlib/Algebra/Hom/Iterate.lean -> Mathlib/Algebra/GroupPower/IterateHom.lean renamed: Mathlib/Algebra/Hom/Centroid.lean -> Mathlib/Algebra/Ring/CentroidHom.lean renamed: Mathlib/Algebra/Hom/Ring/Basic.lean -> Mathlib/Algebra/Ring/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Ring/Defs.lean -> Mathlib/Algebra/Ring/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/Units.lean -> Mathlib/Algebra/Group/Units/Hom.lean

Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Reorganizing.20.60Mathlib.2EAlgebra.2EHom.60

Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Chris Hughes. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Hughes
 -/
-import Mathlib.Algebra.Hom.Aut
-import Mathlib.Logic.Function.Basic
+import Mathlib.Algebra.Group.Aut
 import Mathlib.GroupTheory.Subgroup.Basic
+import Mathlib.Logic.Function.Basic
 
 #align_import group_theory.semidirect_product from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
 
chore: only four spaces for subsequent lines (#7286)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -66,8 +66,7 @@ variable {φ : G →* MulAut N}
 instance : Mul (SemidirectProduct N G φ) where
   mul a b := ⟨a.1 * φ a.2 b.1, a.2 * b.2⟩
 
-lemma mul_def (a b : SemidirectProduct N G φ) :
-  a * b = ⟨a.1 * φ a.2 b.1, a.2 * b.2⟩ := rfl
+lemma mul_def (a b : SemidirectProduct N G φ) : a * b = ⟨a.1 * φ a.2 b.1, a.2 * b.2⟩ := rfl
 
 @[simp]
 theorem mul_left (a b : N ⋊[φ] G) : (a * b).left = a.left * φ a.right b.left := rfl
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -33,7 +33,7 @@ group, semidirect product
 -/
 
 
-variable (N : Type _) (G : Type _) {H : Type _} [Group N] [Group G] [Group H]
+variable (N : Type*) (G : Type*) {H : Type*} [Group N] [Group G] [Group H]
 
 /-- The semidirect product of groups `N` and `G`, given a map `φ` from `G` to the automorphism
   group of `N`. It the product of sets with the group operation
@@ -260,7 +260,7 @@ end lift
 
 section Map
 
-variable {N₁ : Type _} {G₁ : Type _} [Group N₁] [Group G₁] {φ₁ : G₁ →* MulAut N₁}
+variable {N₁ : Type*} {G₁ : Type*} [Group N₁] [Group G₁] {φ₁ : G₁ →* MulAut N₁}
 
 /-- Define a map from `N ⋊[φ] G` to `N₁ ⋊[φ₁] G₁` given maps `N →* N₁` and `G →* G₁` that
   satisfy a commutativity condition `∀ n g, f₁ (φ g n) = φ₁ (f₂ g) (f₁ n)`.  -/
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Chris Hughes. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Chris Hughes
-
-! This file was ported from Lean 3 source module group_theory.semidirect_product
-! leanprover-community/mathlib commit f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Hom.Aut
 import Mathlib.Logic.Function.Basic
 import Mathlib.GroupTheory.Subgroup.Basic
 
+#align_import group_theory.semidirect_product from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
+
 /-!
 # Semidirect product
 
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -113,7 +113,7 @@ instance : Inhabited (N ⋊[φ] G) := ⟨1⟩
 def inl : N →* N ⋊[φ] G where
   toFun n := ⟨n, 1⟩
   map_one' := rfl
-  map_mul' := by intros ; ext <;>
+  map_mul' := by intros; ext <;>
     simp only [mul_left, map_one, MulAut.one_apply, mul_right, mul_one]
 #align semidirect_product.inl SemidirectProduct.inl
 
@@ -138,7 +138,7 @@ theorem inl_inj {n₁ n₂ : N} : (inl n₁ : N ⋊[φ] G) = inl n₂ ↔ n₁ =
 def inr : G →* N ⋊[φ] G where
   toFun g := ⟨1, g⟩
   map_one' := rfl
-  map_mul' := by intros ; ext <;> simp
+  map_mul' := by intros; ext <;> simp
 #align semidirect_product.inr SemidirectProduct.inr
 
 @[simp]
@@ -186,12 +186,12 @@ theorem rightHom_eq_right : (rightHom : N ⋊[φ] G → G) = right := rfl
 #align semidirect_product.right_hom_eq_right SemidirectProduct.rightHom_eq_right
 
 @[simp]
-theorem rightHom_comp_inl : (rightHom : N ⋊[φ] G →* G).comp inl = 1 := by ext ; simp [rightHom]
+theorem rightHom_comp_inl : (rightHom : N ⋊[φ] G →* G).comp inl = 1 := by ext; simp [rightHom]
 #align semidirect_product.right_hom_comp_inl SemidirectProduct.rightHom_comp_inl
 
 @[simp]
 theorem rightHom_comp_inr : (rightHom : N ⋊[φ] G →* G).comp inr = MonoidHom.id _ := by
-  ext ; simp [rightHom]
+  ext; simp [rightHom]
 #align semidirect_product.right_hom_comp_inr SemidirectProduct.rightHom_comp_inr
 
 @[simp]
@@ -233,7 +233,7 @@ theorem lift_inl (n : N) : lift f₁ f₂ h (inl n) = f₁ n := by simp [lift]
 #align semidirect_product.lift_inl SemidirectProduct.lift_inl
 
 @[simp]
-theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext ; simp
+theorem lift_comp_inl : (lift f₁ f₂ h).comp inl = f₁ := by ext; simp
 #align semidirect_product.lift_comp_inl SemidirectProduct.lift_comp_inl
 
 @[simp]
@@ -241,11 +241,11 @@ theorem lift_inr (g : G) : lift f₁ f₂ h (inr g) = f₂ g := by simp [lift]
 #align semidirect_product.lift_inr SemidirectProduct.lift_inr
 
 @[simp]
-theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext ; simp
+theorem lift_comp_inr : (lift f₁ f₂ h).comp inr = f₂ := by ext; simp
 #align semidirect_product.lift_comp_inr SemidirectProduct.lift_comp_inr
 
 theorem lift_unique (F : N ⋊[φ] G →* H) :
-    F = lift (F.comp inl) (F.comp inr) fun _ ↦ by ext ; simp [inl_aut] := by
+    F = lift (F.comp inl) (F.comp inr) fun _ ↦ by ext; simp [inl_aut] := by
   rw [FunLike.ext_iff]
   simp only [lift, MonoidHom.comp_apply, MonoidHom.coe_mk, OneHom.coe_mk, ← map_mul,
     inl_left_mul_inr_right, forall_const]
chore: fix upper/lowercase in comments (#4360)
  • Run a non-interactive version of fix-comments.py on all files.
  • Go through the diff and manually add/discard/edit chunks.
Diff
@@ -29,7 +29,7 @@ condition `∀ n g, f₁ (φ g n) = f₂ g * f₁ n * f₂ g⁻¹`
 
 ## Notation
 
-This file introduces the global notation `N ⋊[φ] G` for `semidirect_product N G φ`
+This file introduces the global notation `N ⋊[φ] G` for `SemidirectProduct N G φ`
 
 ## Tags
 group, semidirect product
feat:port GroupTheory.SemidirectProduct (#1878)

Co-authored-by: Chris Hughes <33847686+ChrisHughes24@users.noreply.github.com>

Dependencies 4 + 202

203 files ported (98.1%)
87335 lines ported (98.8%)
Show graph

The unported dependencies are